Brown the sausage. Heat the olive oil in a large deep skillet or Dutch oven over medium heat.
Add the sausage and cook it until browned and cooked through, breaking it up with a spoon as it cooks.
Add the onion and garlic. Stir in the diced onion and cook for 3 to 4 minutes, until it softens. Add the garlic, Italian seasoning, and red pepper flakes if using, then cook for 30 seconds more.
Add the pasta and liquids. Pour in the diced tomatoes, chicken broth, and pasta. Stir everything together so the pasta sits mostly in the liquid.
Simmer until the pasta is tender. Bring the pot to a boil, then reduce the heat to a steady simmer.
Cover loosely and cook for 10 to 12 minutes, stirring often, until the pasta is tender and most of the liquid has been absorbed.
Stir in the cream and spinach. Add the heavy cream and fresh spinach. Stir until the spinach wilts and the sauce looks creamy.
Finish with cheese and seasoning. Stir in the Parmesan cheese. Taste and add salt and black pepper as needed.
If the sauce looks too thick, add a splash of broth or water.
Serve warm. Spoon the pasta into bowls and top with extra Parmesan if you like. Serve it right away for the best texture and flavor.