Caramelise onions: Heat the olive oil in a large heavy-based deep saucepan over medium heat. Add the onions and immediately reduce the heat to low. Cook for 45 to 60 minutes, stirring occasionally. Once the onions are golden brown, season with salt and remove from the pan.
Cook sausage: Increase the heat to medium-high and add the sausage meat to the pan. Cook for 5 to 7 minutes, stirring occasionally or until the meat is golden and caramelised. Add the garlic and cook for an additional 2 minutes. Remove the sausage and garlic from the pan with a slotted spoon.
Cook pasta: While you prepare the sauce, bring a large pot of heavily salted water to the boil. Cook the pasta al dente, draining it two minutes before the suggested cooking time for the pasta. Reserve up to one cup of pasta water for later.
Sauce: Deglaze the pan with white wine and cook for one minute. Use a wooden spoon to scrape off as many of the delicious brown bits that were left at the bottom of the pan from when you fried the sausage. Add the cream to the pan, simmer, and cook for two minutes. Stir through the caramelised onions and baby spinach and cook until wilted. Add the sausage back to the pan with the sauce and stir through.
Combine & serve: Add the pasta to the pan with your sauce and reduce the heat to low. Slowly incorporate the pasta water and parmesan until the pasta is smooth and glossy. You may not need all of the pasta water, so do this step slowly and in batches. Taste the sauce for seasoning, but depending on which sausages you are using, you may not even need salt and pepper. Serve immediately.