Boil the pasta: Bring a large pot of salted water to a boil.
Cook pasta until just al dente according to package directions. Reserve 1/2 cup pasta water, then drain.
Brown the beef: While the pasta cooks, heat a large skillet over medium-high. Add ground beef and cook, breaking it up, until browned and no longer pink, about 5–6 minutes.
If very lean, add olive oil to prevent sticking. Drain excess fat if needed.
Sauté aromatics: Reduce heat to medium. Add onion to the beef and cook 3–4 minutes until softened.
Stir in garlic and cook 30 seconds until fragrant.
Season well: Add salt, pepper, Italian seasoning, smoked paprika, and red pepper flakes. Stir to coat the beef mixture evenly.
Build the sauce: Pour in the beef broth and crushed tomatoes. Stir and bring to a gentle simmer.
Let it bubble for 3–4 minutes to slightly thicken and marry the flavors.
Make it creamy: Lower the heat to medium-low. Stir in the heavy cream and Greek yogurt until smooth. Do this gently to prevent curdling.
Simmer 2 minutes.
Add cheese and greens: Stir in Parmesan until melted and the sauce looks glossy. Fold in spinach and cook 1–2 minutes until wilted.
Toss with pasta: Add drained pasta to the skillet and toss to coat. If the sauce seems thick, splash in reserved pasta water, a little at a time, until it’s silky and clings to the pasta.
Taste and adjust: Check salt and pepper.
Add more Parmesan if you like it extra savory.
Garnish and serve: Top with parsley or basil and an extra sprinkle of Parmesan. Serve hot.