Bring a large pot of salted water to a boil. Cook the rigatoni according to package directions until al dente. Reserve 1/2 cup of pasta water, then drain.
While the pasta cooks, heat the olive oil in a large skillet over medium-high heat. Add the diced onion and cook for 3-4 minutes until softened.
Add the minced garlic and cook for 30 seconds until fragrant.
Add the ground beef, breaking it into small pieces. Season with Italian seasoning, red pepper flakes, salt, and pepper. Cook for 6-7 minutes until browned and crispy.
Stir in the crushed tomatoes, tomato paste, and beef broth. Bring to a simmer and cook for 8-10 minutes, stirring occasionally, until the sauce thickens slightly.
Reduce heat to low and stir in the heavy cream and parmesan cheese. Stir until the cheese melts and the sauce is creamy and smooth.
Add the cooked rigatoni to the skillet and toss to coat in the sauce. Add a splash of reserved pasta water if needed to loosen.
Serve immediately topped with extra parmesan and fresh parsley.