Rinse the potatoes under cold water and transfer them to a large saucepan. Add cold water to cover the potatoes by at least 3 inches.
Season with salt and bring it to a boil over high heat. Once the water reaches a rolling boil, turn down the heat to medium and simmer the potatoes until they're tender – 12-15 minutes.
Drain the potatoes and transfer them to a large mixing bowl.
Use a potato masher or a hand mixer to combine the boiled potatoes with the milk, butter, sour cream, salt, and pepper until it's nice and creamy. Set aside.
Heat the milk in a large pan, then add the fish. Cut the onion into halves, push the cloves into the same onion half, and place this into the pan with the milk and fish.
Add bay leaf. Bring the milk to a boil, reduce heat, and simmer gently for 6-7 minutes.
Take the pan off the heat. Discard the onion halves with the cloves and the bay leaf, remove the fish, and set the milk aside.
Meanwhile, finely chop the remaining onion half and the leeks. Heat the butter with the olive oil in a small frying pan and gently fry the garlic, onion, and leeks for 4–5 minutes, until softened but not browned.
Add the flour to the leeks and stir well. Saute for one minute, stirring frequently. Gradually add the milk from poaching the fish, and stir it well each time. Add all the milk this way, and heat gently until the sauce has thickened. Add bouillon powder and half of the cheese and stir until combined. Taste the sauce for seasoning, and add more salt or pepper if necessary.
Gently stir the fish pieces into the sauce. Add frozen peas and corn to the mixture.
Place an ovenproof baking dish onto a tray to catch any of the mixture that bubbles over when cooking. Spoon the fish mixture into the bottom of the dish.
Carefully top with the cooled mashed potatoes. Use a fork to spread the mash over the pie and create a decorative design.
Gently pour the remaining half of the melted butter and grated cheese over the potato topping.
Bake in a 350℉/177℃ oven for 25–30 minutes or until golden brown and bubbling.
Broil the fish pie in the oven for the last few minutes to get a nice golden brown on the top.