Bring a large pot of salted water to a boil. Add the penne pasta and cook according to the package instructions until tender but still slightly firm in the center. Before draining, reserve about ¼ cup of the pasta water.
Drain the pasta and set it aside while you prepare the sauce.
Heat the oil in a large skillet or sauté pan over medium heat. Add the chopped onion and cook for a few minutes until soft and translucent. Stir in the garlic and let it cook just until fragrant and lightly golden.
Add the halved cherry tomatoes to the pan and stir gently. Let them cook for several minutes until they begin to soften and burst open.
Once the tomatoes have softened, add the baby spinach by handfuls. Stir everything together until the spinach becomes tender and blends into the tomato mixture.
Season with salt, black pepper, and nutmeg. Stir in the mascarpone cheese or cream cheese until it melts into the tomatoes and spinach, creating a creamy sauce.
Add the cooked pasta directly into the pan and toss until every piece is coated in the creamy tomato spinach sauce. If the sauce feels too thick, pour in a little reserved pasta water until it reaches your preferred consistency.
Taste and adjust the seasoning if needed, then serve the pasta warm.
