Warm the pot: Heat olive oil in a large deep skillet or Dutch oven over medium-high heat.
Brown the beef: Add ground beef, season with a pinch of salt and pepper, and cook until browned, breaking it into crumbles. If there’s excess grease, spoon off most of it.
Soften aromatics: Add the chopped onion.
Cook 3–4 minutes until soft and translucent. Stir in the garlic and cook 30 seconds until fragrant.
Season well: Sprinkle in Italian seasoning, smoked paprika, and red pepper flakes. Stir to coat the beef and onion.
Tomato base: Add tomato paste and cook 1 minute, stirring, to lightly caramelize.
Pour in the diced tomatoes with their juices.
Add the liquid and pasta: Stir in the broth and bring to a lively simmer. Add the pasta and remaining salt. Stir well so the pasta doesn’t clump.
Simmer to tender: Reduce heat to medium, cover slightly ajar, and cook 10–12 minutes, stirring every couple of minutes so the pasta cooks evenly and doesn’t stick.
Add a splash more broth if it looks dry before the pasta is tender.
Make it creamy: When the pasta is al dente and most liquid is absorbed, reduce heat to low. Stir in the heavy cream.
Cheesy finish: Add mozzarella and Parmesan, stirring until melted and silky. Taste and adjust salt and pepper.
Serve: Let it rest 2 minutes to thicken.
Garnish with parsley or basil. Serve hot with extra Parmesan on the side.