I still remember the first time I had proper fish pie. Not the school dinner kind with crusty mash and grey sauce — I mean the good stuff. I was about ten, and Mum made it one Friday night after payday. There was haddock from the market, hard-boiled eggs (which I thought were weird at the time), and mash so fluffy it felt like eating clouds. We all went quiet for a moment, which never happened in our house.
Now, I make Mary Berry’s version — it’s posher, sure, but still full of that same warmth. Creamy sauce. Smoky fish. A golden mash that crackles on top. It’s not trendy. It’s not fussy. It’s just the kind of food that makes you feel alright about life.
Ingredients
For the filling:
- 75g butter
- 1 large onion, chopped
- 50g plain flour
- 570ml milk
- Salt and black pepper
- Juice of half a lemon (about 2 tbsp)
- 350g fresh haddock, cubed
- 350g smoked haddock, undyed, cubed
- 4 hard-boiled eggs, roughly chopped
For the topping:
- 900g potatoes, peeled and chopped
- About 8 tbsp hot milk
- 50g butter
Use Maris Piper if you’ve got them. If not, just don’t use waxy ones — mash gets weird.
How to Make It
- Preheat your oven to 200°C (400°F, gas mark 6). Butter a big, shallow baking dish — 2.5 litres if we’re being precise, but use whatever fits.
- Start your sauce: Melt butter in a large pan, add the chopped onion, and cook gently for 2–3 minutes. Then slap on the lid and let it steam on low for 15 minutes. Don’t skip this — it brings out the sweetness.
- Take off the lid, turn up the heat, and let any moisture cook off. Stir in the flour and cook it out for a minute — you don’t want floury sauce.
- Gradually whisk in the milk. Don’t rush it. This part’s calming, honestly. Stir until smooth and just thick enough to coat the back of a spoon.
- Add salt (go easy), black pepper, and the lemon juice. Then gently stir in the fish — both kinds. Just a couple of minutes until it starts to turn opaque.
- Pour the filling into your buttered dish. Scatter over the chopped eggs. Don’t overthink the eggs — they just work.
- Now the mash: Boil your potatoes in salted water till tender. Drain, then mash with hot milk and butter. I use a ricer if I can be bothered. Otherwise, a fork and some elbow grease do the job.
- Taste the mash. Season well. Spoon it over the fish filling, then rough up the top with a fork — those ridges will crisp up beautifully.
- Bake for 30 minutes, or until golden and bubbling. If the top looks a bit pale, give it 5 minutes under the grill.

Easy-to-Make Mistakes
Why’s my sauce thin?
You probably rushed the flour stage or added the milk too fast. Slow down — it’s not a race.
Rubbery fish?
You overcooked it in the sauce. It only needs a nudge of heat. It’ll finish in the oven.
Too salty?
Smoked haddock is salty enough on its own. Taste the sauce before adding more.
No crust on top?
Fork it up and maybe dab a bit of butter over the mash. Or blast it under the grill for 5 minutes.
True story:
Once I made this and forgot to cook the potatoes. I only realised when I went to mash them and they were still hard. We had toast that night.
Storage & Reheating
Fridge:
Cool it, cover it, and it’ll keep 2–3 days. Reheat thoroughly before serving.
Freezer:
Assemble but don’t bake. Wrap well and freeze for up to 3 months. Defrost in the fridge overnight.
Reheat:
- Oven: 180°C, covered in foil for 25 mins, then 5 mins uncovered.
- Microwave: It works, but you’ll lose the crisp top. Still tasty though.
- Air fryer: Individual slices go great in the air fryer for a crispy finish.
What to Serve With It
- Steamed peas — just classic.
- Butter-glazed carrots — sweet and soft against the savoury pie.
- A bitter green salad — rocket or watercress with lemon dressing for contrast.
Honestly, a glass of cold white wine doesn’t hurt either.
FAQs
Can I use frozen fish?
Yes — defrost it first and pat it dry. Otherwise, your sauce will turn watery.
Do I need both types of haddock?
No — but the mix gives depth. You can sub in cod or salmon too.
Can I leave out the eggs?
You can, but they’re surprisingly lovely in there. Creamy, rich, and nostalgic.
Can I make it dairy-free?
Yes — use plant milk and vegan butter. The sauce won’t be quite as rich, but still good.
Try More Recipes

Mary Berry Fish Pie
Description
A comforting British classic with creamy fish filling, hard-boiled eggs, and golden mashed potato topping. Perfect for family meals.
Ingredients
For the topping
Instructions
- Preheat oven to 200°C (400°F). Grease a 2.5L baking dish.
- Sauté onion in butter for 2–3 minutes, then cover and cook on low for 15 minutes.
- Uncover, increase heat, stir in flour. Cook 1 minute.
Bake 30 minutes until golden. - Gradually add milk, stirring until thickened.
- Season, add lemon juice, then gently cook fish for 2–3 minutes.
- Transfer fish mix to dish, top with eggs.
- Boil potatoes until tender, mash with milk and butter.
- Season mash, spread over fish. Fork the top.