Brown the Sausage: In a large pot or Dutch oven, heat the olive oil over medium heat. Add the Italian sausage and cook until browned, breaking it up into small pieces as it cooks. This should take about 5-7 minutes. Remove the sausage with a slotted spoon and set it aside.
Sauté the Aromatics: In the same pot, add the diced onion and cook until soft and translucent, about 3-4 minutes. Add the minced garlic and cook for an additional 1 minute until fragrant.
Add the Broth and Tomatoes: Pour in the chicken broth and diced tomatoes (with their juices). Stir in the dried basil, dried oregano, and red pepper flakes if using. Bring the mixture to a boil.
Cook the Pasta: Add the pasta to the boiling broth mixture and cook according to the package instructions until al dente, usually about 8-10 minutes.
Add the Sausage and Cream: Once the pasta is cooked, reduce the heat to low. Return the browned sausage to the pot and stir in the heavy cream. Simmer for 5 minutes to allow the flavors to meld together.
Incorporate the Spinach and Parmesan: Stir in the baby spinach and grated Parmesan cheese. Cook for an additional 2-3 minutes, until the spinach is wilted and the cheese is melted into the soup.
Season and Serve: Taste the soup and season with salt and pepper to your preference. Serve hot, garnished with additional Parmesan cheese and a sprinkle of red pepper flakes for extra heat if desired.