Pour the milk into a large frying pan or sauté pan, add the sliced onion and bay leaf and bring to a simmer.
Carefully place the haddock, skin-side down into the liquid and simmer for two minutes then turn over and simmer for another two minutes.
Meanwhile, add the white wine vinegar and a pinch of salt to a small saucepan of water and bring it to a rapid boil. Whisk the water to create a vortex then crack an egg into the water and cook for three minutes.
Remove and place straight into iced water, then repeat with the second egg.
Lift the haddock out of the milk and set aside on a plate, cover and keep warm in a low oven.
Strain the milk into a jug through a sieve to remove the onion, then wipe out the pan and return it to the heat.
Melt 25g/1oz of the butter in the pan then add the flour and cook out for 2-3 minutes. Pour in the reserved milk a little at a time, whisking as it’s added to remove any lumps. Cook for 3-4 minutes until you have a smooth shiny sauce.
Add the mustard and check the seasoning and texture. Add a little more milk if necessary to make it thick enough to coat the back of a spoon. Add a squeeze of lemon juice.
Heat a frying pan until hot, add the last of the butter and the spinach and cook until wilted down and hot through. Drain on kitchen paper then place onto the serving plates.
Drop the poached egg back into the pan of simmering water for 20-30 seconds to heat through.
Place the cooked haddock on top of the spinach followed by the poached egg, then finish with the mustard sauce over the top.