Bring a large pot of salted water to a rolling boil. Add penne pasta and cook until al dente, about 9-11 minutes. Drain and set aside without rinsing.
While pasta cooks, heat olive oil in large skillet over medium-high heat. Add ground beef, breaking it up with spatula. Cook for 6-8 minutes until browned and no longer pink. Drain excess fat if needed.
Stir in chopped onion and cook for 3-4 minutes until softened. Add garlic and cook for 30 seconds until fragrant.
Add diced tomatoes with juices, beef broth, Italian seasoning, salt, and pepper. Stir well and bring to simmer. Cook for 5-7 minutes allowing flavors to meld and sauce to reduce slightly.
Remove skillet from heat. Stir in Greek yogurt and Parmesan cheese until sauce turns creamy and smooth.
Add drained pasta to skillet with sauce. Toss gently to coat. Warm over low heat for 1-2 minutes if needed. Plate and garnish with fresh herbs and extra Parmesan. Serve hot.
Notes
Don’t rinse pasta after cooking – the starchy surface helps sauce cling better.
Always add Greek yogurt off heat to prevent curdling and maintain smooth texture.
Use freshly grated Parmesan cheese for best flavor and melting quality.
Save a little pasta water to adjust sauce consistency if needed.