Choose a new cookbook worth up to £28 when you subscribe to our magazine.
Boil the potatoes for 20 mins until tender. Meanwhile, put the fish in a frying pan, skin-side down. Stud the onion with the cloves and put into the pan with the bay, milk and stock. Bring to the boil, then cover and simmer for 2 mins. Remove the cod, which should flake easily, then re-cover and cook for 3 mins more until the salmon is just cooked through. Lift out the fish and set aside. Strain the cooking liquid.
In another pan, melt the butter with the oil, stir in the flour and cook for 2 mins until it smells toasty. Take off the heat and slowly whisk in the fish cooking liquid. Return to the heat, whisk until the sauce boils and thickens, then stir in the mustard. Heat oven to 180C/160C fan/gas 4.
Drain and mash the potatoes until smooth, then beat in the egg yolks, spinach and most of the cheese. Season generously with salt, pepper and nutmeg. Whisk the egg whites to soft peaks, then fold into the potato in 2 batches.
Flake the fish into a large baking dish, pour over the sauce and top with the spinachy potato. Scatter with the rest of the cheese and bake for 35-40 mins until golden and risen.