Traditional Fish Pie Recipe: Crispy Top, Creamy Center Comfort

Desserts

Traditional Fish Pie Recipe: Crispy Top, Creamy Center Comfort

This traditional fish pie recipe delivers the ultimate comfort food experience—crisp golden potatoes on top, creamy fish filling beneath, and that unmistakable savory aroma filling your kitchen. The secret lies in selecting firm white fish like cod or haddock, which holds its shape while absorbing the rich gravy.

I've perfected this recipe over years of weekend baking, and it never fails to bring back memories of cozy British pub meals.

The beauty of this dish is its simplicity combined with professional results. A well-made fish pie requires just a few key ingredients: flaky fish, a smooth béchamel sauce, and a perfectly seasoned potato topping.

The potatoes are thinly sliced and layered over the filling, then baked until golden and crispy—this is where the magic happens. The gravy binds everything together, creating that signature creamy texture that makes this dish so satisfying.

What makes this recipe truly special is its versatility. While it stays true to tradition, you can easily adapt it with modern twists—like using vegan cheese or smoked fish for added depth. The result is a dish that feels both nostalgic and fresh, perfect for family dinners or special occasions.

Once you try this version, you'll understand why fish pie has been a British classic for generations.

Ready in about 35 minutes at 375°F, this recipe is perfect for a weeknight meal that feels like a celebration. The crispy top contrasts beautifully with the tender fish and creamy sauce, making every bite worth savoring.

Whether you're following the classic method or adding your own creative touches, this fish pie will become a staple in your cooking repertoire.

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
🔥
Calories
Med Cal

Ingredients for traditional fish pie

Firm fish, creamy sauce, and crispy potato layers—this is comfort food at its finest.

Ingredient Amount Notes
Fresh White Fish Fillets 🐟 1 ½ lb Cod or haddock preferred
Russet Potatoes 🥔 2 lbs Thinly sliced, peeled
Unsalted Butter 🧈 ½ cup Cold, cubed for topping
All-Purpose Flour 🌾 ¼ cup For gravy thickening
Whole Milk 🥛 1 cup Full-fat for creaminess
Heavy Cream 🥛 ½ cup Rich texture essential
Shallots 🧅 2 whole Minced for depth of flavor
Garlic Cloves 🧄 3 cloves Finely chopped
Fresh Parsley 🌿 ¼ cup Chopped, for garnish
Dijon Mustard 🍯 1 tbsp Adds tangy brightness
Fish Stock 💧 1 cup Homemade or quality brand
Salt 🧂 1 ½ tsp Kosher salt preferred
Black Pepper 🌶️ ½ tsp Freshly ground
Dried Thyme 🌿 ½ tsp Or 1 tbsp fresh
Lemon Juice 🍋 1 tbsp Freshly squeezed

The fish is the heart of this dish, so don't cut corners. Cod or haddock are ideal—they stay flaky while absorbing the rich gravy. Grab the freshest fillets you can find, preferably from Whole Foods or your local fishmonger. Look for bright, translucent flesh with no fishy odor. If you can't find fresh, frozen fish works too—just thaw it overnight in the fridge. The potatoes? Russets are your best bet—they slice thin and crisp beautifully. Avoid waxy potatoes like Yukon Golds, which turn mushy. For extra crispiness, I like to soak the sliced potatoes in cold water for 10 minutes before draining—removes excess starch.

No fish stock on hand? Clarified chicken stock works in a pinch, though it lacks that signature seafood depth. Short on cream? Half-and-half or even whole milk will do, though the texture won't be as luscious. The shallots add a subtle sweetness that rounds out the dish—substitute 2 tbsp finely chopped red onion if you're in a rush. Fresh parsley is ideal, but dried parsley at one-third the amount works if you're out. For a modern twist, swap the white fish for smoked haddock or even vegan fish fillets—just add a splash of soy sauce to mimic the oceanic flavor. The lemon juice brightens everything up, so don't skip it!

This pie tastes even better the next day, so make a double batch if you can. Store leftovers in an airtight container in the fridge for up to 3 days. To reheat, cover with foil and warm at 350°F for 15 minutes—just until heated through. The topping gets extra crispy when reheated, which is why I always make extra. For a make-ahead option, assemble the pie (without baking) and refrigerate for up to 24 hours before baking. The flavors meld beautifully overnight, giving you that restaurant-quality taste at home.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this recipe because it’s basically hands-off after the initial chopping. The fish simmers in its own juices while the potatoes boil right in the same pot—no extra dishes, no fuss. Just peel, slice, and let the butter and milk work their magic.
  • Creamy Crisp Contrast: That golden crust on top? Pure perfection. The flour-butter roux makes it rich and velvety, while the fluffy potatoes underneath stay tender. Honestly, I’ll take this over any sad, soggy casserole any day.
  • Leftovers That Don’t Suck: Between us, most fish dishes turn into a sad, dry mess the next day. Not this one. The potatoes stay creamy, the fish stays moist, and the crust? Still crispy if you reheat it right. I make a double batch on Sundays just for this reason.
  • Budget-Friendly Luxury: Fresh white fish might sound fancy, but it’s actually affordable if you buy it frozen or in bulk. The rest—potatoes, butter, milk—are pantry staples. It’s the kind of meal that feels special without breaking the bank, and my kids never complain about the cost.

Step-by-step instructions for traditional fish pie recipe

Here's how to build that perfect combination of crispy golden crust and velvety fish filling.

1

Prepare the Potato Topping for Maximum Crispiness

Preheat your oven to 425°F. Peel and thinly slice the 2 lbs russet potatoes using a mandoline or sharp knife for even thickness. I like mine about ⅛-inch thick—this ensures they crisp up beautifully while still staying tender inside.

Boil the potato slices in salted water for 5 minutes until just tender but not falling apart. Drain well and spread them on a baking sheet. Toss with ½ cup unsalted butter (cold and cubed) and ½ tsp salt, rubbing the butter all over until each slice is lightly coated. This butter will melt during baking, creating that irresistible crispy top we all love.

Bake the potato slices for 15 minutes until they're just starting to turn golden. Remove them and set aside—they'll finish baking later when we assemble the pie. The key here is to get them partially cooked and crisped before they go on top, so they don't steam and turn soggy.

2

Create the Creamy Fish Filling

In a large skillet, melt ¼ cup unsalted butter over medium heat. Add the 2 minced shallots and 3 finely chopped garlic cloves, cooking for 3-4 minutes until they're soft and fragrant but not browned. This gentle cooking brings out their sweetness without making them bitter.

Stir in the ¼ cup all-purpose flour and cook for 1 minute to remove the raw flour taste. Slowly whisk in the 1 cup whole milk and ½ cup heavy cream, letting the mixture thicken into a smooth sauce. Add the 1 tbsp dijon mustard, 1 cup fish stock, 1.5 tsp salt, ½ tsp black pepper, and ½ tsp dried thyme, stirring until everything is well combined.

Bring the mixture to a gentle simmer and let it cook for 3-4 minutes until it's thick enough to coat the back of a spoon. Meanwhile, in a separate pan, poach the 1.5 lb fresh white fish fillets in water with a squeeze of 1 tbsp lemon juice for 4-5 minutes per side until just cooked through. Remove the fish and flake it into chunks, then gently fold it into the creamy sauce. The fish should be warm but not overcooked—it'll finish cooking when we bake the pie.

3

Assemble the Pie for Perfect Texture

In a greased 9x13-inch baking dish, spread the creamy fish mixture evenly, creating a flat layer about 1-inch thick. This even distribution ensures every bite has that perfect combination of fish and sauce. Arrange the partially baked potato slices on top in a single layer, slightly overlapping them to create a continuous crust. Press down gently to ensure good contact with the filling.

Return the pie to the oven and bake at 425°F for 20-25 minutes until the potato topping is deep golden brown and the filling is bubbling at the edges. The potatoes should be crispy on top while still tender underneath. If the top isn't browning quickly enough, broil for 1-2 minutes at the end, keeping a close eye to prevent burning.

Here's the thing—don't overbake. The pie will continue cooking slightly as it rests, and you want that creamy center to stay just shy of being fully set. You're aiming for that classic fish pie texture where the crust is crispy, the sauce is silky, and the fish is tender but still flaky.

4

Rest and Serve for Maximum Comfort

Let the pie rest for 10 minutes before serving. This resting period allows the filling to set slightly and the flavors to meld together. The contrast between the crispy potato crust and the creamy fish filling is what makes this dish so comforting and satisfying.

Garnish with ¼ cup chopped fresh parsley just before serving. The bright green color not only looks beautiful but also adds a fresh contrast to the rich flavors. Serve with a simple green salad or steamed vegetables to complete the meal. Each bite should deliver that perfect combination of textures and flavors—crispy top, creamy center, and tender fish—that makes this traditional fish pie so beloved.

👨‍🍳

Pro Tips For Making Traditional Fish Pie

  • PARBOIL POTATOES FIRST: I learned this the hard way—skipping the parboil means your mashed potatoes will turn out gluey and heavy. Boil whole, skin-on potatoes for 10 minutes before peeling and mashing; they’ll break down evenly and soak up butter like a dream.
  • SEAR FISH IN BATCHES: Don’t crowd the pan—this is where fish goes from flaky to sad. Cook fillets in a single layer over medium-high heat for 2-3 minutes per side until golden. If you’re doing more than two fillets, work in batches and keep them warm in a low oven while you finish.
  • WHISK THE ROUX VIGOROUSLY: That butter-flour mix is your secret weapon, but too many people treat it like an afterthought. Melt the butter first, then whisk in the flour constantly for 2-3 minutes until it’s a pale golden paste—no lumps, no cooking the flour to death. This is what makes your sauce silky, not gluey.
  • STEAM THE PIE BEFORE BAKING: Skip the direct oven blast—this is where pies go from restaurant-worthy to sad. Cover the assembled pie with foil and bake for 20 minutes at 375°F (190°C) to let the filling cook through and the crust soften. Only then do you uncover it for the final 10-15 minutes of browning. Trust me, your crust will thank you.

Creative variations of this recipe

Scottish Seafood Twist

For a true Scottish take, swap the white fish for smoked haddock or salt cod—both add a deep, briny flavor that pairs perfectly with the creamy sauce. I like to add 1 tbsp smoked paprika to the gravy and top with crispy fried shallots before baking.

Serve with a side of buttery neeps and tatties (mashed turnips and potatoes) for an authentic Scottish meal. 🗺️

Modern Vegan Adaptation

Skip the fish entirely and use firm tofu or king oyster mushrooms marinated in 1 tbsp soy sauce and 1 tsp nori flakes for an umami-rich base.

Replace the béchamel with a cashew cream sauce—blend 1 cup soaked cashews, ½ cup unsweetened almond milk, and 1 tbsp nutritional yeast for a cheesy flavor. Garnish with vegan parmesan and fresh dill for a fresh, plant-based twist.

Spicy Caribbean Fusion

Infuse the gravy with 1 tsp jerk seasoning and ½ tsp Scotch bonnet pepper for a bold Caribbean kick. Use red snapper or mahi-mahi for the fish, and top the pie with caramelized plantains instead of potatoes.

Serve with a side of mango salsa to balance the heat. This version turns your classic fish pie into a vibrant, flavor-packed dish fit for a tropical feast. 🌶️

Cheesy Potato Topping

For an extra indulgent version, mix ½ cup shredded cheddar cheese into the butter when coating the potato slices. Sprinkle another ¼ cup of cheese on top before baking for a golden, bubbly crust.

I recommend sharp cheddar or Gruyère for the best melt and flavor. This upgrade adds a rich, savory depth that pairs perfectly with the creamy fish filling.

Herb-Infused Gravy

Elevate the sauce by adding 1 tsp fresh tarragon or ½ tsp dried marjoram to the gravy for a sophisticated herbal note. For a brighter twist, stir in 1 tbsp lemon zest along with the lemon juice.

These herbs add complexity without overpowering the delicate fish flavor, making the pie taste even more restaurant-quality. 💫

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 32g41%
Saturated Fat 18g90%
Cholesterol 155mg52%
Sodium 1020mg44%
Total Carbohydrate 42g15%
Dietary Fiber 6g21%
Sugars 8g
Protein 38g76%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

What type of fish works best for a traditional fish pie?

Firm white fish like cod or haddock are ideal—they hold their shape while absorbing the creamy sauce beautifully. For extra flavor, try smoked haddock or salt cod, especially in Scottish-style versions. Avoid delicate fish like tilapia, which can fall apart.

2

Can I make this pie ahead of time?

Assemble the pie (without baking) and refrigerate for up to 24 hours before baking. The flavors meld overnight, giving it that restaurant-quality depth. For leftovers, store in an airtight container for 3 days and reheat at 350°F for 15 minutes—the topping gets extra crispy!

3

Why is my potato topping soggy instead of crispy?

Undercooked potatoes are the usual culprit. Pre-bake the slices for 15 minutes at 425°F until golden before assembling—this ensures they crisp up during final baking. Also, avoid overlapping slices too much when layering, or they'll steam instead of crisp.

4

What can I substitute if I don’t have fish stock?

Use chicken stock in a pinch, but for best flavor, add ½ tsp fish sauce or 1 tsp soy sauce to mimic seafood depth. Clarified stock works too—just avoid anything with strong flavors like beef or vegetable.

5

How do I make this recipe vegan?

Replace the fish with king oyster mushrooms or firm tofu, marinated in 1 tbsp soy sauce and 1 tsp nori flakes. Swap the béchamel for a cashew cream sauce (blend 1 cup soaked cashews, ½ cup almond milk, and 1 tbsp nutritional yeast). Use vegan butter and cheese alternatives for the potato topping.

★★★★★4.8(10 reviews)
Categories Desserts