Cook pasta in salted boiling water until al dente. Reserve ½ cup pasta water, drain, and set aside.
Heat olive oil in a large skillet over medium heat. Add ground beef and cook until browned, breaking it apart. Drain excess fat.
Add onion and garlic; sauté until softened and fragrant.
Stir in Italian seasoning, paprika, salt, pepper, and red pepper flakes.
Reduce heat to low. Add heavy cream and beef broth; simmer gently until slightly thickened.
Stir in Parmesan (and mozzarella if using) until melted and smooth.
Add cooked pasta to the sauce. Toss to coat, adding pasta water as needed.
Garnish with fresh parsley and serve warm.