Cook the whole wheat penne pasta according to package instructions until al dente. Drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the diced onion and sauté for about 3 minutes until translucent.
Add the minced garlic and ground beef to the skillet. Cook until the beef is browned and cooked through, breaking it apart with a spoon, about 5-7 minutes.
Stir in the Italian seasoning, salt, and black pepper.
Pour in the beef broth and bring to a simmer. Let it cook for about 3 minutes to reduce slightly.
Lower the heat and add the heavy cream, stirring until well combined.
Mix in the grated Parmesan cheese until melted and creamy.
Add the cooked penne pasta and fresh spinach to the skillet. Toss everything together until the spinach wilts and the pasta is coated in the sauce.
Serve hot, garnished with chopped parsley.