For the topping, steam the potatoes for 15-20 minutes or until completely tender. Drain and return to the pan with the pureed spinach over a gentle heat for a couple of minutes, shaking the pan occasionally to prevent the potatoes sticking. Mash the potatoes then beat in up to 100ml milk and season to taste with nutmeg and pepper.
Place 600ml milk in a sauté pan with the bay leaves, clove and a pinch of nutmeg. Add the salmon and haddock fillets and poach for 6-8 minutes or until the fish is just tender. Transfer the fish fillets to a plate and set aside until they are cool enough to handle, then flake the flesh, discarding the skin and any bones. Set aside. Strain the poaching liquid and reserve.
Melt the butter in a large non-stick pan. Add the onion and cook for 6-8 minutes until the onion has softened but not coloured, stirring occasionally. Pour in the reserved poaching milk. Mix the cornflour to a paste with the remaining milk then add a little warm milk from the pan and return the rest of the liquid, stirring all the time. Reduce the heat and simmer gently for 10 minutes, stirring occasionally until slightly reduced and thickened.
Stir the anchovy essence, parsley, thyme and mustard powder into the sauce. Fold in the reserved flaked fish and prawns, season to taste. Spoon the fish mixture into an ovenproof dish, at least 2.25 litres in size. Allow a light skin to form, carefully spread over the spinach mash to cover. Smooth over with a palette knife and fluff up with a fork. Mix together the Gruyere and Parmesan and sprinkle over the top, then bake for 20-25 minutes or until the cheese is bubbling and golden.
Serve at once with the sugar snap peas and roasted tomatoes.