Melt the butter in a medium pan over a medium heat. Peel and finely chop the onion. Add the onion and mushrooms with a pinch of salt and pepper. Put on the lid (or use a baking tray if you don't have a lid) and fry the veg for 5 mins, stirring every so often, till the veg have started to soften.
Stir in the flour. Cook and stir for 2 mins. Add 100ml of the milk and cook and stir till it is smoothly combined. Add another 100ml of the milk, and repeat. Then add 200ml milk and stir well to combine. Once all the milk has been added, bring the pan to the boil, then turn the heat down and simmer the sauce for 8 mins, stirring often till the sauce has thickened a little.
While the sauce simmers, coarsely grate the cheddar. Chop any larger chunks of fish so all the pieces are the same size. Heat your grill to high.
Stir the cheddar and spinach into the sauce. Take the sauce off the heat and grate in around 1/4 of the nutmeg. Taste the sauce and add more salt or pepper if you think it needs it.
Spoon the fish pie mix into a heatproof dish (or 2 smaller, individual dishes). Pour over the spinach sauce. Sprinkle over the breadcrumbs and grate over a little extra nutmeg (just a pinch). Slide the gratin under the grill and cook for 10-12 mins till the gratin is golden and bubbling.
While the gratin grills, pick any really thick stalks out of the watercress. Toss the watercress with 1/2 tbsp oil and a pinch of salt and pepper.
Let the gratin cool for a few mins before serving in arm bowls with the watercress on the side.