Bring a large saucepan filled halfway with water to a boil. Add pasta and cook until al dente. Drain and rinse with cold water.
In a large skillet or Dutch oven, heat the oil over medium heat. Add the onion, garlic and spinach. Cook for 3-4 minutes, or until spinach begins to wilt and the garlic and onions are fragrant.
Add the tomatoes, marinara sauce, Italian seasoning, paprika, salt and pepper. Cook, stirring for 3 minutes. Add the heavy cream (or half and half), mozzarella and sour cream and cook until cheese has melted.
Add the cooked pasta and cook for an additional 3 minutes, or until ingredients are completely warmed through. Serve immediately and top with Parmesan, if desired.