Bring a large pot of salted water to a boil. Cook the pasta according to the package directions until al dente. Reserve about 1 cup of pasta cooking water, then drain.
Meanwhile, melt the butter in a large, deep skillet over medium heat. Add the onion and cook for 5–7 minutes until softened and lightly golden. Add the garlic and cook for about 30 seconds.
Stir in the Italian seasoning and fresh tomatoes. Cook for 3–5 minutes until the tomatoes soften and release their juices.
Add the tomato pasta sauce and cream. Bring to a gentle simmer and cook over low heat for 3–5 minutes. Season with salt and black pepper to taste.
Add the drained pasta and toss to coat. Add reserved pasta water a little at a time if needed. Remove from the heat and stir in the Parmesan, if using.
Serve immediately with extra Parmesan and fresh parsley or basil.