Let me tell you a story. One rainy Sunday afternoon, the kind where thunder rolls low and the windows fog up with warmth, I made a fish pie that changed everything. My kids, who usually sniff suspiciously at anything involving fish, asked for seconds—then thirds. My partner, who grew up on their grandmother’s version, said this one was better (don’t tell grandma). And me? I sat there with a hot plate in my hands, spooning bite after velvety bite, thinking—this is what comfort tastes like.
This isn’t just a recipe; it’s a moment you’ll remember. It’s the dish you bring out when you want to say, I love you, without words. It’s soft, luxurious flakes of fish nestled beneath a golden, cloud-like mash, all tied together with a creamy sauce so rich and fragrant it could make angels weep. Whether you’re feeding family, impressing friends, or just giving yourself a hug on a plate—this fish pie is it.
Prep time: 25 minutes
Cooking time: 45 minutes
Total time: 1 hour 10 minutes
Serves: 4–6 people
Difficulty: Medium
Now let’s dive into the full experience. But before we get to the ingredients and steps, I’ll share how you can customize this dish for almost any diet.
600g white fish (cod, haddock, or pollock), skinless and boneless
200g smoked fish (such as smoked haddock or trout) for depth of flavor
150g cooked prawns or shrimp (optional but divine)
1 small leek, thinly sliced
1 medium onion, finely chopped
50g butter
40g flour (or gluten-free flour blend for a GF version)
500ml milk (dairy-free versions like oat or almond also work well)
2 tsp Dijon mustard
1 handful fresh parsley, chopped
Salt and freshly cracked pepper to taste
Juice of half a lemon (optional, but brightens the dish beautifully)
1kg potatoes (floury types like Maris Piper or Russet), peeled and cubed
75ml cream or milk for mashing
30g butter for mash
50g grated cheddar (or dairy-free cheese for vegan version)
Optional for the top:
A pinch of nutmeg
Extra cheese for that golden crust
Breadcrumbs mixed with olive oil for crunch
Vegan: Replace the fish with a mix of sautéed mushrooms, jackfruit, or tofu. Use plant-based milk, vegan butter, and cheese.
Gluten-Free: Use gluten-free flour in the roux and double-check all labels (mustard, stock, etc.).
Dairy-Free: Use olive oil or vegan margarine instead of butter and plant-based milk/cream.
Low-Carb: Substitute the mashed potatoes with mashed cauliflower or celeriac.
And now, on to the magic itself—the preparation.
Here’s where everything comes together. The steps below can be done using your oven, stovetop, or appliances like Ninja Foodi or Instant Pot (see notes below).
Preheat the oven to 200°C (180°C fan) or 400°F.
Boil the potatoes in salted water until soft (around 15-20 minutes), then mash with butter, cream/milk, salt, and pepper. Set aside.
In a large saucepan, melt the butter and gently sauté the onion and leek until soft, about 5–7 minutes.
Stir in the flour and cook for 2 minutes to form a roux.
Gradually add the milk, stirring constantly until a smooth, thick sauce forms.
Stir in the mustard, parsley, lemon juice, salt, and pepper.
Gently fold in the fish pieces and prawns (if using). Let it simmer for 3–5 minutes, just until the fish starts to flake.
Pour the fish mixture into a deep ovenproof dish.
Spoon the mashed potato on top, spreading evenly.
Sprinkle with cheese and a dash of nutmeg or breadcrumbs if using.
Bake in the oven for 25–30 minutes or until golden brown and bubbling.
Air fryer method: Prepare the filling and assemble in small ramekins. Air fry at 180°C (350°F) for 10–15 minutes.
Instant Pot method: Use sauté mode for the filling. Transfer to an oven-safe dish for final baking.
Ninja Foodi: Use sauté mode + bake/air crisp settings for full cooking in one pot.
High in Omega-3: The fish used in this pie provides essential fatty acids that promote heart and brain health.
Rich in protein: Essential for muscle repair and energy.
Contains vitamin B12: Especially from smoked fish, important for nerve function.
Iron from leeks and potatoes: Helps prevent fatigue and supports oxygen transport.
Calcium from dairy or alternatives: Vital for bones and teeth.
Gluten-free adaptable: Perfect for those with sensitivities.
Fiber-rich from leeks, onion, and potatoes: Supports digestion and gut health.
There’s always room for play and creativity.
Add a boiled egg or two, sliced and layered with the filling, for an extra layer of richness.
Mix in some cooked spinach or peas for added color and nutrients.
Top with mashed sweet potatoes for a sweeter, earthier flavor.
Sprinkle chopped chives or dill over the top before serving for a fresh lift.
Try using different cheeses like gruyère, blue cheese, or vegan parmesan.
Serve with a crisp green salad or buttered peas on the side.
Can I freeze fish pie?
Yes, once cooled, it freezes beautifully. Cover tightly and freeze for up to 3 months.
How do I reheat fish pie?
Bake from frozen at 180°C for 45–50 minutes or until hot all the way through.
Can I use frozen fish?
Yes, just defrost thoroughly and drain excess liquid before cooking.
Can I make this in advance?
Definitely. Assemble the dish up to a day ahead and keep refrigerated until ready to bake.
Can I make it without dairy?
Yes, use plant-based milk, butter, and cheese substitutes—it works wonderfully.
Can I make individual portions?
Of course! Bake in ramekins or small ovenproof dishes. Perfect for dinner parties.
What’s the best fish to use?
Cod, haddock, or pollock are traditional, but salmon and smoked trout are also delicious.
How do I know the fish is cooked?
It will be opaque and flake easily with a fork.
Is it kid-friendly?
Absolutely! The creamy texture and mild flavor usually win over even picky eaters.
Can I add spice?
Sure! Try a pinch of cayenne in the sauce or chili flakes on top for gentle heat.
From my experience, this is more than just dinner—it’s a memory waiting to happen. If you make this dish and love it as much as I do, share it with your friends, post it on your socials, or send it to someone who needs a warm plate of comfort. Let’s spread the love—one fish pie at a time.