Fish Pie
From the kitchen of CarlyBritish comfort food at its richest: flaked white fish, prawns, and leeks under a creamy sauce, capped with mashed potato and gruyere browned crisp under the broiler. Sunday dinner with very little hands-on work. Assemble it the day before, refrigerate, and bake from cold. Add 15 minutes to the bake time. Better than fresh.

Creamy, comforting, and finished with a golden crust of mashed potato and melted cheese. The trick is poaching the fish in milk, which flavors the sauce and keeps everything tender. Shrimp, fresh herbs, and a bright squeeze of lemon lift what could be heavy into something you'll crave on repeat.
- Prep
- 25 min
- Cook
- 50 min
- Total
- 1 hr 15 min
- Servings
- 6
- Difficulty
- medium
Ingredients
6 servings
- 1.98 lb(900 g)russet or floury potatoes, peeled and cubed
- 2 tbspolive oil
- 2 1/2 cups(600 ml)whole milk
- 1 3/4 lb(800 g)white fish fillets (cod, haddock, pollock)
- 1 tbspall-purpose flour
- 1 good gratingfreshly grated nutmeg
- 3 tbspheavy cream
- 1 largeleek, finely sliced
- 7 oz(200 g)raw shrimp, peeled
- 1 large handfulfresh parsley, chopped
- 1 small handfulfresh dill, chopped
- 1lemon, zest and juice
- 1 oz(25 g)gruyere, grated
Instructions
Put the potatoes in a large pot of cold salted water. Bring to the boil, then cover and simmer 15 minutes until tender. Drain and return to the empty pot for 30 seconds over low heat to dry out.
Mash the potatoes with 1 tbsp olive oil. Season with salt and pepper. Set aside.
Pour the milk into a wide skillet. Add the fish fillets and bring to a simmer. Pull off the heat, cover, and let stand 3 minutes (the fish keeps cooking off-heat).
Lift the fish onto a plate. Reserve the milk. Flake the fish into chunks, discarding skin and any bones. Transfer to a baking dish.
Heat the remaining olive oil in a small saucepan. Stir in the flour and cook 30 seconds.
Gradually whisk in 200ml of the reserved fish-poaching milk (discard the rest). Whisk constantly to prevent lumps. Grate in the nutmeg, season, and bubble gently until the sauce thickens.
Stir in the heavy cream.
Heat the oven to 375°F (190°C).
Add the sliced leek, raw shrimp, parsley, and dill to the baking dish with the fish. Stir the lemon zest and juice into the sauce, then pour everything over the fish. Mix gently with a wooden spoon.
Spoon the mashed potato over the top. Use a fork to make peaks across the surface (those crisp up beautifully). Scatter the gruyere over the top.
Bake 35 to 40 minutes until golden, bubbling at the edges, and cooked through. Let it rest 5 minutes before serving with wilted greens or peas.
Tips from the kitchen
- Poach the fish gently in milk off-heat instead of simmering it. Three minutes is enough, the residual heat cooks it through without drying it out.
- Use floury potatoes like russets or maris pipers, they mash smooth and crisp up beautifully on top. Waxy potatoes stay gluey.
- Make a proper roux with the flour and oil before whisking in the milk gradually. It prevents lumps and thickens the sauce evenly.
- Fork peaks into the potato topping before baking, they catch heat and turn golden and crispy instead of just browning flat.
Variations
- Smoked fish variation: use smoked haddock instead of plain cod, skip the lemon juice, and let the smoke be your acid.
- Egg and anchovy: stir three or four chopped anchovies into the sauce and top with sliced hard-boiled eggs nestled between the potato peaks before baking.
- Fennel swap: replace the leek with thinly sliced fennel, it adds sweetness and a subtle anise note that pairs beautifully with white fish.
- Cider and mustard: swap 100 ml of the poaching milk for dry cider and whisk in a tablespoon of wholegrain mustard into the sauce.
Make ahead and storage
Keep covered in the fridge for up to three days. Freezes well for up to three months before baking. Reheat gently from cold or room temperature, covered with foil for the first 20 minutes so the top doesn't burn before the filling heats through.
Substitutions
- white fish fillets to salmon, smoked haddock, or a mix. A mix is traditional. Smoked haddock adds a deep savory note; salmon brings color.
- gruyere to sharp cheddar or parmesan. Cheddar is more obviously British. Parmesan crusts up nicely. Either works.
- heavy cream to creme fraiche or full-fat Greek yogurt. Greek yogurt cuts the richness; creme fraiche adds a tangy edge.
Pairs well with: Buttered peas or wilted spinach, A glass of crisp Sauvignon Blanc, Crusty bread for the inevitable scraping of the dish