Cook pasta until tender, 8 minutes; drain.
Dice the onion and mince the garlic. Cook both in a large skillet with the olive oil over medium-low heat until softened and transparent, about 5 minutes.
Add the diced tomatoes, oregano, basil, red pepper flakes, salt, and some freshly cracked pepper to the skillet with the onions and garlic. Stir to combine.
Turn the heat down to low. Cut the cream cheese into a few pieces and then add them to the skillet with the mozzarella cheese and the half and half.
Use a whisk to stir the sauce until the cream cheese has fully melted in and the sauce is creamy.
Add the fresh spinach and gently stir it into the sauce until it has wilted, 3-5 minutes.
Add the pasta and stir until all coated with the creamy sauce.