Classic Fish Pie
The ultimate classic fish pie! There’s perfectly cooked fish, a super creamy sauce & a crispy, cheesy mashed potato topping.
This post contains affiliate links. I may earn a small commission if you make a purchase using these links, at no extra cost you. For more information, click here.

Components Of A Classic Fish Pie
A traditional fish pie consists of perfectly cooked flakes of fish in a rich, creamy sauce (made with the milk that the fish was poached in), topped with a crispy, cheesy mashed potato. Typically, a combination of smoked & unsmoked fish is used, as well as peas, King prawns & chopped up hard boiled eggs.
There’s a fair few components to this pie but fortunately, it can be made in advance. A great option for midweek meals & weekend dinners alike.
How To Get The Crispiest Topping
You can’t make a classic fish pie without it having a super crispy, mashed potato topping! The secret to achieving this is adding an egg yolk to the mash then topping the pie with a generous amount of grated cheese & a sprinkling of panko breadcrumbs. Baking the potatoes instead of boiling is another handy trick (less moisture = crispier potato!).
Combine this with the high heat of an oven & you’re well on your way to the crispiest fish pie topping ever!

What You’ll Need
- Fish – To make a classic fish pie, we’re using a mix of salmon, cod & smoked haddock. Feel free to use any two of these fish instead of three, if you’d prefer. Make sure to remove any skin, bones or fat/gristle.
- Potatoes – For our mashed potato topping, I’d recommend using Maris Pipers but Russet or King Edward potatoes will work as well.
- Milk – Used to poach the fish, which is then used for the sauce. Whole milk works best but semi skimmed can also be used.
- Cream – Adding cream to the filling & topping adds another level of richness. Feel free to use milk instead (you might not need as much so add it in to both gradually).
- Butter – There’s butter in the sauce & topping for extra flavour. I like to use unsalted but use salted if you’d like (keep this in mind when seasoning though).
- Onion & Garlic – These add some extra flavour to our sauce but can be left out.
- Herbs – To infuse the milk (for poaching), we’re using fresh thyme & a bay leaf. To the sauce, we’re adding in chopped parsley. This adds some extra colour & is a classic fish pairing!
- Egg Yolk – Stirring an egg yolk into the mash, adds richness & makes it even crispier once baked!
- Cheese – A combination of cheddar & red Leicester gives the best flavour & crispy finish to our pie.
- Dijon Mustard – A mild mustard flavour works great with the fish & cheese. Feel free to leave this out if you’d prefer though.
- Plain Flour – Used in the roux, to thicken our sauce.
Optional
The following ingredients are optional but make our fish pie even better!
- Hard Boiled Eggs – A classic fish pie add-in. I like to cut these into quarters before adding to the filling.
- King Prawns – Another traditional fish pie addition. If using, you’ll need cooked & peeled King prawns.
- Panko Breadcrumbs – A sprinkling of panko breadcrumbs on top of the pie before baking, makes it even crispier once cooked! Regular breadcrumbs could also be used.
- Frozen Peas – Adding peas to the filling adds colour & freshness! Don’t worry about defrosting them first, they’ll do this in oven…

Recipe Breakdown
The full, printable recipe card for this fish pie can be found at the bottom of this post!
- Bake the potatoes – This is for the mash topping & will take between 45 minutes to 1½ hours to cook. Whilst the spuds are cooking, we can get on with making the pie filling.
- Poach the fish – The first step for our pie filling is poaching the fish. To do this we cut the fish into 1 inch pieces then cook over a low heat in milk, thyme & a bay leaf. We want our fish to be just cooked, so this will only take 5 minutes or so. Once the fish is cooked, we transfer it into an oven dish. We pass the milk through a sieve, into a jug.
- Sauce – To make the sauce, we are thickening the infused milk up by cooking it into a roux (like a béchamel). We’re also adding in some fried onion & garlic, Dijon mustard, lemon & chopped parsley.
- Mash – To make our pie topping, we scoop the flesh out of the baked potatoes then mash them into a bowl, using a potato ricer. To this we add in double cream, butter, mustard & an egg yolk then season & stir to combine.
- Assembly – To assemble, nestle the prawns amongst the poached fish, scatter over frozen peas then top with the chopped up boiled eggs. Pour the sauce all over the filling. Next, spoon the mashed potato over the filling then spread it out with a fork, roughing the mash up as you do so (this helps it get super crispy in the oven!). To finish, sprinkle over grated cheese then panko breadcrumbs.
- Cooking – Cook the fish pie at 200°c/180°c fan (392°f/356°f), for 25-30 minutes, until the top is crispy & golden and the filling is piping hot. Make sure to stand the pie on a baking tray whilst it cooks, to catch any filling that might leak out!
- Leave to stand then serve – Once cooked, let the pie stand for 5 minutes then serve!




What To Serve With Fish Pie
This fish pie can easily serve 6 people on its’ own but to make it go even further, it can be served with a number of side dishes. Some good options would be a simple green salad, thickly sliced sourdough bread or some steamed veg tossed in butter…
Frequently Asked Questions
Traditionally, fish pie contains a mix of smoked & unsmoked fresh fish. Popular options are cod, smoked haddock & salmon. King prawns are another popular add in, as well.
To make the sauce for our pie, we poach fish in milk then use this fish infused milk as the sauce’s base. We’re cutting our fish into 1 inch pieces which will take roughly 5 minutes to poach over a low heat. It should be just cooked.
To make the crispiest mash topping, we’re adding egg yolk into the mash then topping it with grated cheese & panko breadcrumbs. This combined with a fairly high oven temperature is the secret to making a super crispy topping.
If you’re cooking the fish pie straight after assembling, it will take 25-30 minutes to cook. If the pie has been made in advance & is being cooked straight from the fridge, it will take an additional 5-10 minutes.
Once fully cooked, the fish pie will have a crispy, golden topping. The filling will be piping hot & will have an internal temperature of at least 75°c/167°f (a digital food probe comes in handy here!).
For the best flavour & finish, I’d recommend using a mix of mature cheddar & red Leicester. Some other good options would be gruyere, parmesan or comte.
To hard boil eggs, cook them at a rolling boil for 10 minutes then refresh under cold water. Once cool, peel them then cut into quarters.
Cooking Fish Pie In An Aga
With all of my recipes, I include cooking instructions for conventional ovens, fan ovens & also Agas. Here’s how to cook this recipe in an Aga…
To cook the potatoes, place them in the roasting oven, on the bottom set of runners. Cook the fish pie in the roasting oven as well but on the runners above.
Equipment Used
Please note that these are affiliate links & I may make a small commission if you make a purchase using these links, at no extra cost to you. For more information, click here.
- 10″ Square Dish
- Thermapen Digital Food Probe
- Large Saucepan
- Potato Ricer
- Microplane Grater
- Cheese Grater
- Slotted Spoon
More Dinner Recipes To Try!
- Shepherd’s Pie With Cheesy Garlic Mash
- Twice Baked Rarebit Potatoes
- Honey Sesame Fried Chicken Tenders
- Guinness Braised Short Rib Stew With Dumplings
- Tomato & Ricotta Pappardelle With Pangrattato
- Cheesy Butternut Orzo
- Toad In The Hole With Caramelised Onion Gravy
- Roasted Tomato Risotto & Burrata
If you have enjoyed this classic fish pie recipe, it would mean a lot if you could leave a review & rating!
Classic Fish Pie
Equipment
- Large Baking Tray
- Potato Ricer
- Saucepans
- Microplane
- Cheese Grater
- Slotted Spoon
Ingredients
Poached Fish
- 600 g Whole Milk
- 1 Bay Leaf
- 6 Sprigs Thyme
- 200 g Salmon
- 200 g Smoked Haddock
- 200 g Cod
Filling
- 50 g Unsalted Butter
- 1 Small White Onion Finely Diced
- 2 Cloves Garlic Grated
- 30 g Plain Flour
- 200 g Double Cream
- 1½ tsp Dijon Mustard
- ½ Lemon Zest & Juice
- 1 tbsp Finely Chopped Parsley
- 150 g King Prawns Cooked & Peeled – See Notes
- 100 g Frozen Peas Optional
- 4 Hard Boiled Eggs Optional – See Notes
Mash Topping
- 1½ kg Maris Piper Potatoes Washed & Left Unpeeled
- 100 g Double Cream
- 50 g Unsalted Butter
- 1 tsp Dijon Mustard
- 1 Egg Yolk
- 50 g Mature Cheddar Grated
- 50 g Red Leicester Grated
- 1 tbsp Panko Breadcrumbs Optional
Instructions
- Preheat an oven to 200°c/180°c fan (392°f/356°f).
- First we need to start cooking the potatoes for the mash topping. To do this place the potatoes onto a baking tray, prick them all over with a fork then drizzle lightly with vegetable oil. Bake in the preheated oven, until tender. This will take 45 minutes – 1½ hours, depending on the size of your potatoes.Once cooked, leave the potatoes to cool for 15-20 minutes before scooping out the flesh.The best way to check that the potatoes are cooked is to poke each one with a small, sharp knife. If the knife slides in without any resistance, the potato is cooked.
Poaching The Fish
- Once the potatoes are in the oven, it's time to make the filling. To start, place the milk, bay leaf & thyme into a medium saucepan. Season with salt & pepper then place over a low heat, to get steaming hot (don't let it boil).
- Whilst the milk is warming up, cut the fish into 1" chunks, discarding any skin, bones or fat/gristle.
- When the milk is steaming hot, add in all the fish then poach gently until just cooked. This will take around 5 minutes.
- Next, using a slotted spoon, lift the fish out of the milk & transfer to a 10" square oven dish. Pour the milk into a jug, through a sieve.
Filling
- Place the butter into a medium sized saucepan, set over a medium heat then leave to melt.
- Add in the diced onion, season with salt then cook until soft, stirring regularly. This will take around 5 minutes.
- Stir in the grated garlic, cook for a minute then stir in the flour. Cook out for another minute.
- Next, pour in ⅓ of the poaching milk then cook until thick, stirring constantly. This will take around 2 minutes over a medium heat.
- Pour in another third of milk, cook until thickened again then add in the rest of the milk.
- Continue cooking the sauce over a low heat until it's thick & no longer tastes like flour. This will take roughly 5-10 minutes.
- Stir in the double cream & mustard then cook the sauce out for another 2 minutes. Remove from the heat then stir in the lemon (zest & juice) and the parsley. Season with salt & pepper, to taste.
- Next, nestle the prawns amongst the poached fish then scatter over the frozen peas. If you're adding in boiled eggs, peel them, cut into quarters then place on top of the pie filling.
Mash Topping
- Once the potatoes are cooked & cool enough to handle, cut them in half, scoop out the flesh with a spoon then mash into a bowl using a potato ricer (or masher).
- Add in the cream, butter, mustard & egg yolk. Season with salt & pepper then stir to combine/melt the butter.
Assembly & Baking
- To assemble, pour the sauce all over the fish then spoon the mash on top. Using a fork, spread the mash all over the filling, roughing the top up as you do so.
- Sprinkle both the grated cheeses over the pie then top with the panko breadcrumbs (if you're using them).
- Place the pie onto a baking tray then cook in the preheated oven for 25-30 minutes, until the top is crispy & golden and the filling is piping hot (the temperature of the filling should be at least 75°c/167°f. A digital food probe comes in handy here).
- Let the fish pie sit for 5 minutes then serve.
A fantastic recipe I made yesterday. My husband said it was restaurant worthy- praise indeed. Bens step by step was easy and informative. I used Smoked haddock, salmon, smoked mackerel and prawns. All fresh from Grimsby Docks .
I also used jacket potatoes which take the topping to another level.
Fantastic recipe Ben, thank you !
Glad you liked it!