Put the fish, skin side up in a deep baking dish and pour the milk over it.
Add the bay leaf and the pepper corns and put it in the oven for 30 minutes
Remove it from the oven, remove the fish from the milk and let it cool. Strain the milk into a bowl and reserve.
When the fish is cool, peel the skin off, flake the fish and remove any bones. Reserve.
Melt the butter in a heavy bottomed pan with a lid and put in the onions. Cover and sweat on low heat for 10 minutes.
Add the chopped celeriac, potatoes and put in just enough vegetable stock to be able to cook the potatoes thoroughly. Do this with the lid on. The celeriac is very watery so you don’t need to add too much water. Don’t let the pan go dry – top up with more vegetable stock if you need to.
When the potatoes are cooked blend the soup with a hand blender to the consistency of your choice. Add the milk and the fish and just heat through. Don’t boil at this stage.