Quick Recipe Version (TL;DR)
Quick Ingredients
- 1.1 kg floury potatoes, peeled and chopped
- 110 g unsalted butter, divided
- 600 ml whole milk, divided (500 ml for poaching, 100 ml for mash)
- 60 ml double cream
- 600 g white fish + 150 g smoked haddock, in chunks
- 2 leeks, thinly sliced
- 30 g plain flour
- 150 ml fish stock
- 150 g frozen peas
- 1 tsp Dijon, zest 1/2 lemon, 2 tbsp parsley
- Bay leaf, peppercorns, salt, black pepper; 40 g cheddar (optional)
Do This
- 1. Heat oven to 200°C/180°C fan/400°F. Boil potatoes 15–18 min until tender; drain and mash with 60 g butter, 100 ml milk, 60 ml cream; season.
- 2. Poach fish in 500 ml milk with bay leaf and peppercorns at a bare simmer 3–5 min; lift out, flake into big chunks; strain and reserve milk.
- 3. Soften leeks in 50 g butter 5–6 min; stir in 30 g flour and cook 1 min.
- 4. Whisk in reserved poaching milk and 150 ml stock; simmer 3–4 min to thicken. Stir in Dijon, lemon zest, peas, parsley; season.
- 5. Fold fish into the sauce gently; taste and adjust seasoning.
- 6. Spoon into a 2 litre baking dish. Top with mash; rough up with a fork; sprinkle cheddar if using.
- 7. Bake 25–30 min until golden and bubbling. Rest 10 min, garnish, serve.
Why You’ll Love This Recipe
- Comforting and classic: creamy leek sauce, tender flakes of fish, and buttery mash.
- Balanced flavor: a little smoked fish adds depth without overpowering.
- Make-ahead friendly: assemble earlier in the day or freeze for later.
- Family-sized: generous 6-serving bake for weeknights or relaxed Sunday suppers.
Grocery List
- Produce: Floury potatoes (Maris Piper/King Edward/Russet), 2 leeks, 1 lemon, fresh flat-leaf parsley.
- Dairy: Whole milk, double cream (heavy cream), unsalted butter, mature cheddar (optional).
- Pantry: Plain flour, Dijon mustard, fish stock (carton or cube), frozen peas, bay leaf, whole black peppercorns, fine salt, black pepper, white fish fillets (cod/haddock/pollock) and a little smoked haddock.
Full Ingredients
For the Potato Topping
- 1.1 kg floury potatoes, peeled and cut into 3 cm chunks (about 2 lb 7 oz)
- 60 g unsalted butter (about 4 tbsp)
- 100 ml whole milk (about 1/2 cup)
- 60 ml double cream or heavy cream (1/4 cup)
- 1/2 tsp fine salt, plus more to taste
- 1/4 tsp white or black pepper
- Pinch freshly grated nutmeg (optional)
For the Fish and Creamy Leek Sauce
- 600 g skinless boneless white fish (cod, haddock, or pollock), cut into 3 cm chunks (1 lb 5 oz)
- 150 g undyed smoked haddock, skinless, in 3 cm chunks (5 oz)
- 500 ml whole milk for poaching (2 cups)
- 1 bay leaf
- 6 whole black peppercorns
- 50 g unsalted butter (about 3 1/2 tbsp)
- 2 medium leeks (about 300 g), white and light green parts only, halved lengthways, thinly sliced and well rinsed (10–11 oz)
- 30 g plain flour (all-purpose), leveled (1/4 cup)
- 150 ml fish stock (or low-sodium chicken stock) (2/3 cup)
- 1 tsp Dijon mustard
- Finely grated zest of 1/2 lemon (about 1 tsp)
- 150 g frozen peas (1 cup), no need to thaw
- 2 tbsp chopped fresh flat-leaf parsley
- 1/2 tsp fine salt, plus freshly ground black pepper, to taste
Optional Topping & Garnish
- 40 g mature cheddar, grated (about 1/3 cup, loosely packed)
- 1/4 tsp sweet paprika or a pinch of cayenne for color (optional)
- Extra chopped parsley and lemon wedges, to serve

Step-by-Step Instructions
Step 1: Heat the oven and prep the potatoes
Heat the oven to 200°C/180°C fan/gas 6 (400°F). Put the potato chunks into a large pot, cover with cold water by 2–3 cm, add a generous pinch of salt, and bring to a boil. Reduce to a gentle simmer and cook for 15–18 minutes until completely tender when pierced with a knife.
Step 2: Make the buttery mash
Drain the potatoes well and return them to the hot pot. Let them steam-dry for 2 minutes (this prevents a watery topping). Mash thoroughly, then beat in 60 g butter, 100 ml milk, and 60 ml cream until smooth and fluffy. Season with 1/2 tsp salt, the pepper, and a pinch of nutmeg if using. Cover and keep warm off the heat.
Step 3: Poach the fish gently
In a wide, deep sauté pan, bring 500 ml milk, the bay leaf, and peppercorns just to a bare simmer. Slide in the white fish and smoked haddock. Keep the heat low and poach for 3–5 minutes until the fish is just turning opaque but still delicate. Lift the fish out with a slotted spoon onto a plate. Strain the poaching milk into a jug; discard aromatics. Break the fish into large flakes, removing any stray bones.
Step 4: Cook the leeks and build the creamy sauce
Melt 50 g butter in a medium saucepan over medium heat. Add the sliced leeks with a pinch of salt and cook, stirring, for 5–6 minutes until soft and sweet but not browned. Sprinkle over the flour and cook, stirring, for 1 minute to remove the raw taste. Gradually whisk in the reserved poaching milk, then the fish stock. Bring to a gentle simmer and cook for 3–4 minutes, whisking, until the sauce is silky and coats the back of a spoon. Off the heat, stir in the Dijon, lemon zest, peas, and parsley. Season to taste with salt and black pepper.
Step 5: Fold the fish into the sauce
Add the flaked fish to the pan and fold very gently to keep the chunks intact. If the sauce seems too thick, loosen with a splash of milk; if too thin, simmer for 1–2 minutes more. Taste and adjust seasoning—remember the smoked fish contributes saltiness.
Step 6: Assemble the pie
Transfer the filling to a 2–2.5 litre (about 2–2.5 quart) ovenproof dish. Spoon or pipe the mash over the top, sealing right to the edges to prevent bubbling over. Rough up the surface with a fork to create peaks that brown beautifully. Sprinkle with the cheddar and a dusting of paprika if using. Place the dish on a baking tray to catch any drips.
Step 7: Bake until golden, rest, and serve
Bake for 25–30 minutes until the top is golden and the filling is visibly bubbling around the edges. Rest for 10 minutes to set slightly, then scatter with extra parsley. Serve hot, with buttered greens or a simple salad and lemon wedges if you like.
Pro Tips
- Steam-dry the potatoes before mashing for a fluffy, not gluey, topping.
- Keep the fish in large chunks and fold gently to preserve texture.
- Thicken the sauce until it clings to a spoon; a too-thin sauce can weep when baked.
- Rough up the mash with a fork—those peaks are what turn deeply golden and crisp.
- Use undyed smoked haddock for a clean, natural flavor and color.
Variations
- Classic British: Tuck in 2 hard-boiled eggs (quartered) under the mash before baking.
- Gluten-Free: Swap the flour for 2 tbsp cornstarch mixed with 2 tbsp cold milk; whisk into the hot sauce to thicken.
- Lighter Top: Replace half the potatoes with cauliflower florets; steam until very tender before mashing.
Storage & Make-Ahead
Assemble up to 24 hours ahead, cover, and refrigerate. Bake from chilled at 200°C/180°C fan/400°F for 30–35 minutes until piping hot in the center. Leftovers keep 2 days in the fridge; reheat, covered with foil, at 180°C/160°C fan/350°F for 20–25 minutes until hot throughout (75°C/167°F in the center). To freeze, assemble but do not bake; cool, wrap well, and freeze up to 2 months. Bake from frozen at 190°C/170°C fan/375°F for 55–65 minutes: cover with foil for the first 40 minutes, then uncover to brown. Always check it is bubbling and steaming hot in the middle.
Nutrition (per serving)
Approximate values (with optional cheddar): 575 kcal; 34 g protein; 50 g carbohydrates; 27 g fat; 5 g fiber; 820 mg sodium. Values will vary with brands and exact ingredients.


Leave a Reply