Melt the butter with 1 tbsp of the oil in a frying pan, add the onion and garlic and fry for 5 minutes until softened. Add the mushrooms and cook for 2 minutes. Stir in most of the basil. Season with salt and pepper, then remove from the heat.
Cook the pasta until al dente. Drain, return to the pan, season and toss in a little oil. Sprinkle a little Parmesan cheese into the pasta, if liked.
Drain the juice from the tomatoes into a bowl. Stir the tomatoes into the mushroom mixture and stir the creme fraiche into the tomato juice. Add the mushroom mixture and the creme fraiche to the pasta, toss, sprinkle with the remaining Parmesan and a few more basil leaves. Cook in a preheated oven, 180 C (350 F, Gas 4) for about 40 minutes.