In a large pot or Dutch oven over medium-high heat, cook Italian sausage, breaking it up with a spoon, until browned and cooked through, about 6-7 minutes.
Add diced onion and cook for 3-4 minutes until softened. Stir in garlic, Italian seasoning, and red pepper flakes (if using), cooking for 1 minute.
Pour in crushed tomatoes and chicken broth. Bring to a boil.
Add pasta and stir well. Reduce heat to medium and simmer, stirring occasionally, for 12-14 minutes until pasta is tender.
Stir in spinach and heavy cream. Cook for 2-3 minutes until spinach wilts.
Remove from heat and stir in Parmesan cheese. Season with salt and pepper to taste. Let rest for 5 minutes before serving to allow sauce to thicken. Enjoy!