Bring a large pot of salted water to a boil and cook the rigatoni pasta until al dente, about 1–2 minutes less than the package instructions. Reserve about 1 cup of pasta water, then drain and set aside.
Heat the olive oil in a large skillet over medium heat. Add the chopped onion and cook until soft and lightly golden, about 5 minutes.
Stir in the minced garlic and cook for 1 minute until fragrant, then add the Italian sausage. Break it apart with a wooden spoon and brown until no pink remains, about 6–8 minutes.
Sprinkle in the dried oregano, dried basil, and red pepper flakes, stirring to coat the sausage in the spices.
Pour in the crushed tomatoes and let the mixture simmer for 10–15 minutes, stirring occasionally, until the sauce thickens slightly.
Stir in the heavy cream and grated Parmesan cheese, letting the sauce bubble gently for 3–4 minutes until it turns silky and coats the back of a spoon.
If using, add the fresh baby spinach and stir until wilted. Season with salt and freshly ground black pepper to taste.
Add the drained rigatoni to the skillet and toss everything together until each tube is coated in the creamy tomato cream sauce. If needed, stir in a splash of reserved pasta water to loosen the sauce.
Serve immediately, garnished with extra grated Parmesan cheese and chopped fresh basil or parsley.