Boil pasta in salted water until al dente. Reserve 1/2 cup pasta water, then drain.
Heat olive oil in a large skillet over medium-high heat. Add sausage and cook, breaking into crumbles.
Stir in butter, then add onion. Cook until softened and lightly golden, about 4 minutes.
Add minced garlic. Cook until fragrant, about 30 seconds, stirring constantly.
Pour in crushed tomatoes and chicken broth. Season with Italian seasoning, red pepper, salt, and black pepper.
Simmer the sauce on medium for 5 minutes to thicken slightly and meld flavors.
Lower heat. Stir in heavy cream and Parmesan until smooth and creamy.
Add drained pasta. Toss to coat, loosening with splashes of pasta water as needed.
Fold in spinach until wilted. Taste and adjust seasoning. Finish with parsley and extra Parmesan.