Fry the garlic and mushrooms over a high heat until just browned adding more oil if necessary.
remove the pan from the heat and stir in the spinach.
Meanwhile cook the pasta in a large pan of lightly salted water according to the packet instructions until just tender. Drain well and rinse under cold water.
Preheat the oven to 190°C, 375°F, gas 5.
Heat the butter in a pan, then stir in the flour and cook for 1 minute
Gradually add the milk, whisking all the time. simmer for 2-3 minutes until thickened.
Stir in the cheese and season with salt and freshly ground black pepper.
Stir the pasta into the cheese sauce and add the mushroom and spinach mixture.
Spoon into a large ovenproof dish and top with tomatoes.