Heat olive oil in a large pot or skillet over medium heat. Add chopped onion and minced garlic. Sauté for 3-4 minutes until the onion becomes translucent.
Add ground beef to the pot. Brown the beef for 5-7 minutes, breaking it apart as it cooks. Drain excess fat if necessary.
Stir in diced tomatoes, beef broth, and Italian seasoning. Bring to a boil. Add penne pasta, stir to combine, reduce heat to low, cover, and simmer for 12-15 minutes, stirring occasionally.
After pasta is cooked al dente, stir in heavy cream and season with salt and pepper. Cook for an additional 2-3 minutes until heated through.
Remove from heat and stir in shredded mozzarella cheese until melted. Serve hot, garnished with fresh parsley.