Boil the pasta: Bring a large pot of salted water to a boil. Cook the pasta until just shy of al dente.
Reserve 1 cup of pasta water, then drain.
Brown the beef: In a large skillet, heat olive oil over medium-high. Add the ground beef, season with salt and pepper, and cook until well browned, breaking it into small crumbles. Push the beef to one side and spoon off excess fat if needed.
Build the flavor base: Reduce heat to medium.
Add butter to the empty side of the pan, then add the onion and a pinch of salt. Cook 3–4 minutes until soft. Stir in garlic and cook 30 seconds until fragrant.
Toast the tomato paste: Add tomato paste.
Cook, stirring, for 1–2 minutes until it darkens slightly. This concentrates the flavor and adds sweetness.
Season: Stir in Italian seasoning, smoked paprika, and red pepper flakes. Let spices bloom for 30 seconds.
Add liquid: Pour in broth, scraping up any browned bits.
Simmer 3–4 minutes to reduce slightly.
Make it creamy: Lower the heat to medium-low. Stir in Greek yogurt until smooth and glossy. If it looks too thick, splash in a bit of pasta water.
Cheese time: Add Parmesan and stir until melted and creamy.
Taste and adjust salt and pepper.
Combine: Add drained pasta to the skillet. Toss until every piece is coated, loosening with more pasta water as needed until the sauce clings silkily.
Finish and serve: Turn off the heat. Sprinkle with chopped parsley or basil and extra Parmesan.
Serve hot.