In a large pot, heat the olive oil over medium heat. Add the ground beef and cook until browned, breaking it apart with a spoon, about 5-7 minutes. Drain excess fat if necessary.
Add the diced onion and minced garlic to the pot. Sauté until the onion is translucent, about 3-4 minutes.
Stir in the Italian seasoning and red pepper flakes, cooking for another minute until fragrant.
Pour in the diced tomatoes, tomato sauce, and beef broth. Bring the mixture to a simmer.
Add the penne pasta to the pot, stirring to combine. Cover and cook for 10-12 minutes, or until the pasta is al dente, stirring occasionally.
Reduce the heat to low and stir in the heavy cream and shredded mozzarella cheese until melted and creamy. Season with salt and pepper to taste.
Serve hot, garnished with fresh basil if desired.