Simmer milk with onion, bay leaves, salt, pepper, and fish for two minutes.
Infuse fish for five minutes then drain, reserving the milk and fish separately.
Boil potatoes for 15 minutes until soft, drain, and mash with butter, cream, and most of the cheese.
Preheat the oven to 200°C.
Boil eggs for nine minutes, cool in cold water, peel, and halve.
Melt butter, stir in flour, then whisk in infused milk, wine, and cream until thick.
Stir dill fronds into the sauce.
Layer sauce, chunky fish pieces, and eggs in an ovenproof dish.
Spread mashed potato over the top, fluff with a fork, and sprinkle remaining cheese.
Bake for 45 minutes until golden-brown and bubbling.