Heat a large frying pan or wide-based casserole over medium heat. Melt the butter, then sauté the onion or shallot for about 5 minutes until soft.
Add the sundried tomatoes and garlic, cooking for 1–2 minutes until fragrant.
Add the tinned tomatoes. Swish out each tin with a splash of water (half a tin) and add that to the pan. Season with salt and pepper.
Simmer gently for 20 - 30 minutes, partially covered with a lid to reduce splatter and preserve moisture.
While the sauce cooks, bring a large pot of salted water to the boil. Cook the tortelloni for 3–4 minutes or according to the packet instructions, then drain. Drizzle with olive oil if not using immediately.
Once the tomato sauce is cooked, stir in the basil and spinach and let it wilt for a minute.
Pour in the cream and simmer for 2–3 minutes until slightly thickened.
Add the tortelloni and gently stir to coat. Serve immediately with freshly grated Parmesan.