This creamy fish pie is perfect for Christmas or any cozy family dinner. It’s made with flaky haddock, smoked fish, and eggs, all in a smooth white sauce, then topped with fluffy mashed potatoes. Warm, filling, and easy to make ahead.
Jump to RecipeIngredients Needed:
- 75g/3oz butter, plus extra for greasing
- 1 large onion, roughly chopped
- 50g/2oz plain flour
- 570ml/1 pint milk
- salt and freshly ground black pepper
- 2 tbsp lemon juice
- 350g/12oz fresh haddock, cut into 1cm/½in pieces
- 350g /12oz undyed smoked haddock, cut into 1cm/½in pieces
- 4 hard-boiled free-range eggs, roughly chopped
For the topping:
- 900g/2lb potatoes peeled and cut into even-sized pieces
- about 8 tbsp hot milk
- about 50g/2oz butter
How To Make Christmas Fish Pie Recipe?
- Preheat the oven: set it to 200C and lightly grease a large 2.5-litre dish with butter.
- Cook the onion: melt butter in a pan over high heat, add the onion, and fry for a few minutes, then lower the heat, cover, and cook gently for 15 minutes until soft.
- Make the sauce: remove the lid and turn up the heat to dry out extra moisture, stir in the flour, then slowly pour in the milk while stirring until the sauce thickens and is smooth.
- Add the fish: season with salt, pepper, and lemon juice, then stir in the raw haddock and cook for a few minutes until just cooked through, then add the smoked haddock.
- Assemble the pie: pour the mixture into your buttered dish, let it cool slightly, then top with the chopped hard-boiled eggs.
- Make the mash: boil the potatoes in salted water until soft, drain well, then mash with hot milk and butter until smooth and creamy, season with salt and pepper to taste.
- Top and bake: spread the mash over the fish filling, use a fork to lightly score the top, and bake for 30 minutes or until golden and crisp on top.

Recipe Tips:
- Use fresh fish if possible: fresh haddock gives the best flavor and texture. Frozen fish can work too, but make sure to fully defrost and pat dry to avoid watery sauce.
- Don’t skip softening the onions: cook them slowly with the lid on so they turn sweet and soft — this adds a lovely base flavor to the sauce.
- Add milk slowly to the flour: pour the milk in little by little while stirring to avoid lumps. Take your time here for a smooth, creamy sauce.
- Let the filling cool slightly before adding mash: this stops the mash from sinking into the fish mixture and keeps the layers neat when baking.
- Fork the mash top for crisp texture: lightly scoring the mashed potato with a fork helps it brown beautifully and gives you that crispy top layer.
How To Store Leftovers?
- Refrigerate: Let the pie cool down first. Once it reaches room temperature, cover it or place it in a sealed container. Keep in the fridge for up to 2 days.
- Freeze: Cool the pie fully, then wrap it well or use a freezer-safe container. Freeze for up to 2 months.
Nutrition Facts:
- Calories: 420 kcal
- Total Fat: 20g
- Saturated Fat: 10g
- Cholesterol: 140mg
- Sodium: 580mg
- Potassium: 800mg
- Total Carbohydrate: 32g
- Dietary Fiber: 3g
- Sugars: 5g
- Protein: 32g
Try More Mary Berry Recipes:
Mary Berry Christmas Fish Pie Recipe
Course: DinnerCuisine: BritishDifficulty: Easy6
servings25
minutes30
minutes420
kcalThis creamy fish pie is perfect for Christmas or any cozy family dinner. It’s made with flaky haddock, smoked fish, and eggs, all in a smooth white sauce, then topped with fluffy mashed potatoes. Warm, filling, and easy to make ahead.
Ingredients
75g/3oz butter, plus extra for greasing
1 large onion, roughly chopped
50g/2oz plain flour
570ml/1 pint milk
salt and freshly ground black pepper
2 tbsp lemon juice
350g/12oz fresh haddock, cut into 1cm/½in pieces
350g /12oz undyed smoked haddock, cut into 1cm/½in pieces
4 hard-boiled free-range eggs, roughly chopped
- For the topping:
900g/2lb potatoes peeled and cut into even-sized pieces
about 8 tbsp hot milk
about 50g/2oz butter
Directions
- Preheat the oven: set it to 200C and lightly grease a large 2.5-litre dish with butter.
- Cook the onion: melt butter in a pan over high heat, add the onion, and fry for a few minutes, then lower the heat, cover, and cook gently for 15 minutes until soft.
- Make the sauce: remove the lid and turn up the heat to dry out extra moisture, stir in the flour, then slowly pour in the milk while stirring until the sauce thickens and is smooth.
- Add the fish: season with salt, pepper, and lemon juice, then stir in the raw haddock and cook for a few minutes until just cooked through, then add the smoked haddock.
- Assemble the pie: pour the mixture into your buttered dish, let it cool slightly, then top with the chopped hard-boiled eggs.
- Make the mash: boil the potatoes in salted water until soft, drain well, then mash with hot milk and butter until smooth and creamy, season with salt and pepper to taste.
- Top and bake: spread the mash over the fish filling, use a fork to lightly score the top, and bake for 30 minutes or until golden and crisp on top.
Notes
- Use fresh fish if possible: fresh haddock gives the best flavor and texture. Frozen fish can work too, but make sure to fully defrost and pat dry to avoid watery sauce.
- Don’t skip softening the onions: cook them slowly with the lid on so they turn sweet and soft — this adds a lovely base flavor to the sauce.
- Add milk slowly to the flour: pour the milk in little by little while stirring to avoid lumps. Take your time here for a smooth, creamy sauce.
- Let the filling cool slightly before adding mash: this stops the mash from sinking into the fish mixture and keeps the layers neat when baking.
- Fork the mash top for crisp texture: lightly scoring the mashed potato with a fork helps it brown beautifully and gives you that crispy top layer.