Preheat the oven to 350°F (180°C or 170°C for a fan oven).
Steam the spinach for 3 minutes.
Remove the spinach from the heat and drain it as much as possible. Set aside.
Melt the butter in a large frying pan over medium heat.
Add the mushrooms and sauté until they begin to pick up some colour.
Sprinkle the flour over top of the mushrooms and stir to coat.
Cook for a minute or so.
Gradually add the milk, a bit at a time, stirring and allowing the sauce to thicken between each addition. You want a fairly thick and creamy sauce so you may not need all the milk.
Add the cooked spinach and stir through.
Stir in the nutmeg.
Add the salt and pepper.
Pour the mixture into the bottom of a deep 13 x 9 inch baking dish.
Meanwhile, cook the pasta in boiling salted water according to package directions.
Drain the pasta and return it to the saucepan.
Over very low heat, add the tomato sauce or passata to the pasta in the saucepan.
Grate in the garlic and add the pesto, stirring through to mix.
Place the dressed pasta layer carefully over the spinach florentine layer in the baking dish.
Sprinkle the cheese over top of the pasta layer.
Bake for 20 minutes or until the cheese is melted and beginning to turn golden brown.