Heat the oil in a large skillet with a fitted lid over medium heat. Add the onion and tomatoes; cook 7 to 8 minutes, until the onion is soft and the tomatoes are broken down and jammy.
Add the pasta, marinara sauce, water, garlic powder, oregano, salt, and pepper. Increase heat to medium-high and bring to a simmer. Cover and cook, stirring occasionally, until the pasta is al dente, 10 to 12 minutes.
Remove the lid and stir in the heavy cream, spinach, and cheese. Stir continuously until the spinach wilts and the cheese melts, about 2 minutes.
Garnish with fresh basil and Parmesan, if using, and serve.