1. Create a roux - Melt butter in a saucepan, add the flour in equal parts, whisk until smooth. Cook for a minute on medium heat. Take off the heat, add to a bowl and leave to the side. Put the potatoes into a saucepan, bring to a boil and simmer until cooked, then mash and leave aside.
2. Heat a drop of oil in a pan, fry onion and set aside. Cut fish into chunks of equal size.
3. Cook mushrooms on high heat to caramelize, squeeze lemon over and season with salt and pepper, add to plate with onions.
4. Poach the fish in a pan with the milk for approx. 4 mins until cooked. Remove the fish with a slotted spoon and keep to the side.
5. Thicken the milk with the roux (step 1). Add it in, bring it to boil and whisk until the roux has broken down. Reduce the heat and add the onions, mushrooms, fish, hard-boiled eggs, and herbs then mix together.
6. Transfer into an ovenproof dish and top with the mashed potato.