Crush tinned tomatoes with your hands into a medium saucepan. Add the butter, onion halves, chilli flakes and a pinch of salt.
Place over medium heat and bring to a gentle simmer. Cook, uncovered, for about 30 minutes. Stir occasionally. When the sauce is thick and the flavour has developed, discard the onion and switch off the heat.
Using a vegetable peeler, shave zucchini into long, even ribbons. Toss with a pinch of salt in a colander. Let it stand until ready to use.Heat oil and butter in a large frying pan over medium-high heat.
Add garlic and cook until fragrant. Add mushrooms and cook, tossing them often until just tender and golden brown. Season.
Preheat oven grill. In a shallow baking dish spread out the zucchini ribbons. Dollop spoonfuls of tomato sauce over the zoodles. Top with mushrooms and spoonfuls of ricotta. Season well.
Top with freshly grated Parmesan and place until the grill for 2-3 minutes. Serve into bowls and scatter with fresh basil leaves.