Bring a large pot of heavily salted water to a boil. Cook the penne pasta according to package instructions until al dente. Drain and set aside.
In a large deep skillet or Dutch oven over medium-high heat, add the ground beef. Cook until fully browned, breaking it into small crumbles with a spatula. Drain any excess fat and set the beef aside on a plate.
Reduce the skillet heat to medium. Add the butter and allow it to melt. Add the diced onion and sauté for 3-4 minutes until translucent.
Stir in the minced garlic and cook for 60 seconds until fragrant, taking care not to burn the garlic.
Return the cooked ground beef to the skillet. Season with Italian seasoning, smoked paprika, salt, black pepper, and red pepper flakes. Stir to combine.
Pour in the beef broth and heavy cream. Bring the mixture to a gentle simmer, scraping the bottom of the pan to release any browned bits (fond).
Reduce heat to low and simmer for 3-5 minutes until the sauce begins to thicken slightly.
Add the cooked penne to the skillet. Toss thoroughly to coat the pasta in the sauce.
Sprinkle in the mozzarella and Parmesan cheeses. Stir continuously until the cheeses are fully melted and the sauce is smooth and creamy.
Garnish with fresh parsley and serve immediately while hot.