Warm the pot: Set a large, heavy pot or deep skillet over medium-high heat.
If your beef is very lean, add the olive oil or butter.
Brown the beef: Add the ground beef and break it up with a spoon. Cook until well browned with crispy edges, about 6–8 minutes. Season lightly with salt and pepper, then push the meat to one side of the pot.
Soften aromatics: Add the chopped onion to the open space and cook 3–4 minutes until translucent.
Stir in the garlic and cook 30 seconds, just until fragrant.
Build the base: Stir in the tomato paste and cook 1–2 minutes to caramelize it slightly. This deepens the flavor and reduces any raw tomato taste.
Add liquids and seasoning: Pour in the crushed tomatoes and broth. Stir in Italian seasoning, smoked paprika, and a pinch of red pepper flakes if using.
Taste the liquid and season with salt and pepper—this is your chance to set the tone.
Add the pasta: Stir in the dry pasta, making sure it’s submerged. Bring to a strong simmer, then reduce to medium. Cover partially and cook, stirring every 2–3 minutes to prevent sticking.
Simmer to al dente: Cook 10–12 minutes, or until the pasta is just al dente.
If the pot looks dry before the pasta is done, splash in a bit more broth or water.
Make it creamy: Lower the heat. Stir in the cream or half-and-half and the Parmesan. Simmer gently 1–2 minutes to thicken slightly.
The sauce should cling to the pasta but still look glossy.
Final seasoning: Taste and adjust with more salt, pepper, or a pinch of red pepper flakes. If you want extra richness, add another small handful of Parmesan.
Serve and garnish: Turn off the heat. Let it rest 2 minutes to settle, then top with chopped parsley or basil.
Serve hot with extra Parmesan on the side.