Gather and prepare all ingredients before you begin.
Bring a large pot of water to a boil over high heat. Add the penne pasta and cook for 7 to 10 minutes, until tender. Drain in a colander and set aside.
While the pasta cooks, dice the onion and mince the garlic. Add the onion, garlic, and olive oil to a large skillet. Sauté over medium heat for 3 to 5 minutes, until the onions are soft and translucent.
Add the diced tomatoes with their juices, oregano, basil, crushed red pepper, salt, and freshly cracked black pepper. Stir to combine. Add the tomato paste and ½ cup of water. Stir until the tomato paste blends smoothly into the sauce.
Lower the heat. Cut the cream cheese into a few pieces and add them to the skillet. Whisk the sauce until the cream cheese fully melts and the sauce becomes creamy. Add the grated Parmesan and stir until melted.
Add the fresh spinach and gently stir until it wilts, about 2 to 3 minutes. Add the cooked pasta and stir until everything is evenly coated in the sauce. Taste and adjust salt and pepper if needed. Serve warm.