Heat a large pot over medium heat. Add olive oil, onions, and cook for 7-8 minutes until they're soft. Throw in garlic and sausage, cooking for an additional 7-8 minutes until the sausage starts to brown.
In a separate large pot, bring water to a boil. Add a generous pinch of salt to infuse flavor into the pasta. Cook the rigatoni according to the package instructions.
Add tomatoes to the sausage mixture. If using whole tomatoes, blend them until smooth. Stir in fresh basil, oregano, red pepper flakes, salt, and pepper. Bring it to a boil and let it simmer.
Pour in the heavy cream and 1 cup of Parmesan cheese (keep 1/2 cup for garnish). Reduce the heat to medium-low and let it simmer.
Drain the pasta and add it to the sauce. If you prefer a thicker consistency, let the sauce simmer for an extra 10 minutes.
Taste for seasoning. Serve with the remaining 1/2 cup of Parmesan cheese and fresh basil.