Basic Fish Pie Recipe: Flaky Potato Topping Over Creamy Fish Filling

Desserts

Basic Fish Pie Recipe: Flaky Potato Topping Over Creamy Fish Filling

This basic fish pie recipe delivers all the comforting flavors of a classic British pub dish—creamy, flaky, and perfectly balanced between tender fish and golden potato topping. I developed this version after years of testing, focusing on simple techniques that guarantee restaurant-quality results at home.

The secret lies in steaming the fish first to preserve its moisture, then layering it with a velvety sauce before topping with crispy mashed potatoes.

The filling starts with flaked fish—haddock, cod, or salmon—simmered in a rich white sauce until just tender. This ensures every bite stays moist while absorbing the surrounding flavors. Meanwhile, the potato topping transforms humble mashed potatoes into a golden, flaky crust through careful browning in the oven.

The contrast between the creamy filling and crispy topping is what makes this dish truly special.

What you’ll end up with is a dish that’s hearty enough for a family dinner but elegant enough for company—creamy fish filling that melts in your mouth, topped with a potato crust that’s crispy on the edges and tender underneath.

The aroma alone will have everyone gathering around the table. This recipe serves four, but it’s easy to double for leftovers that reheat beautifully.

Pair it with steamed green beans or a simple salad to round out the meal, or serve with crusty bread for soaking up every last bit of that rich sauce.

The best part? This version stays true to tradition while being simple enough for weeknight cooking. Let’s get started on creating your perfect fish pie.

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

Ingredients for basic fish pie

Simple ingredients for a classic comfort dish that feels restaurant-worthy.

Ingredient Amount Notes
Haddock Fillets 🐟 1 ½ lb Skinless, boneless, fresh preferred
Russet Potatoes 🥔 2 lb Peeled, boiled, mashed smooth
Heavy Cream 🥛 1 cup Full-fat for creaminess
Milk 🥛 ½ cup Whole milk preferred
Butter 🧈 ½ cup Unsalted, melted
All-Purpose Flour 🌾 2 tbsp For thickening sauce
Garlic Cloves 🧄 3 cloves Minced for flavor
Shallots 🧅 2 whole Finely chopped
Lemon Juice 🍋 1 tbsp Freshly squeezed
Salt 🧂 1 ½ tsp Kosher or sea salt
Black Pepper 🌶️ ½ tsp Freshly ground
Dried Parsley 🌿 1 tbsp For garnish
Breadcrumbs 🍞 ¼ cup Panko for extra crunch

The fish is the star, so pick fresh haddock or cod—it should smell clean and bright, not fishy. Whole Foods or your local fishmonger are best for quality. If you can't find haddock, salmon or pollock work too, but haddock has that classic delicate flavor. The potatoes need to be starchy and floury—Russets are perfect. For the cream, full-fat heavy cream makes all the difference in that velvety sauce. I always grab the organic version from Trader Joe's when I can, but any good brand works.

No haddock? Cod or pollock are solid swaps—they stay firm when cooked. Short on breadcrumbs? Crushed cornflakes give a similar crispy texture. The shallots can be swapped for regular onions if needed, but they add a subtle sweetness that makes the sauce sing. Fresh parsley is ideal, but dried parsley at one-third the amount works in a pinch. The butter matters here—unsalted, European-style butter adds richness. Don't skip the lemon juice; it brightens up the whole dish and balances the creaminess.

This pie reheats beautifully—just cover with foil and bake at 375°F for 15-20 minutes. The filling keeps for 3 days in the fridge before baking, but the topping is best made fresh. For extra crispiness, broil the pie for 2-3 minutes at the end. Leftovers? Store in an airtight container and reheat covered to keep the topping from drying out. I always make a double batch—it's that good.

❤️

Why You'll Love This Recipe

  • Here’s what sold me: the haddock stays tender, but the top crust turns golden and crackly. That first bite—warm, rich sauce giving way to crisp edges—makes it feel like a restaurant dish. (Yes, even on a Tuesday night.)
  • One-Pan Wonder: I swear by this trick—just boil the potatoes, poach the haddock, and toss everything into one baking dish. No chopping boards to clean, no extra pans to wash. That creamy sauce? It’s all in there, melting into the flaky fish and buttery mash while you relax.
  • Creamy Crisp Contrast: Here’s what sold me: the haddock stays tender, but the top crust turns golden and crackly. That first bite—warm, rich sauce giving way to crisp edges—makes it feel like a restaurant dish. (Yes, even on a Tuesday night.)
  • Leftover Goldmine: Between us, this pie begs for seconds, and it reheats like a dream. The next day, the flavors only deepen—especially when I toss in a splash of milk to loosen that thickened sauce. My kids fight over the portions, and I don’t even pretend to care.

Step-by-step instructions for flaky potato topping over creamy fish filling

Here's how to build this comforting classic with tender fish and perfectly crisp potato layers.

1

Prepare the Creamy Fish Filling

Preheat your oven to 375°F. In a large oven-safe skillet, melt 0.5 cup butter over medium heat. Add the 2 whole shallots and 3 cloves garlic cloves (minced), cooking for 3-4 minutes until softened and fragrant. You'll know they're ready when they smell sweet and the garlic loses its raw bite.

Add the 1.5 lb haddock fillets to the pan and cook for 4-5 minutes per side until the fish turns opaque and flakes easily with a fork. Remove the fish and set it aside, leaving the butter and shallots in the pan. Here's the thing—don't overcook the fish or it'll turn rubbery.

Reduce heat to low and stir in the 2 tbsp all-purpose flour to make a roux. Cook for 1 minute until bubbly. Slowly whisk in the 1 cup heavy cream and 0.5 cup milk, stirring constantly until the sauce thickens to a velvety consistency. Add the 1 tbsp lemon juice, 1.5 tsp salt, and 0.5 tsp black pepper, then return the fish to the skillet. Let it warm through for 2 minutes.

2

Create the Perfect Potato Topping

While the fish cooks, prepare the potato topping. In a large bowl, combine the 2 lb russet potatoes (pre-boiled and mashed smooth) with 0.5 cup melted butter, 1 tbsp dried parsley, and 0.5 tsp black pepper. Mix thoroughly until the butter is evenly distributed and the potatoes are light and fluffy. The texture should be smooth with no lumps remaining.

Spread the potato mixture evenly over the fish filling in the skillet, creating a smooth, even layer. Sprinkle the 0.25 cup breadcrumbs evenly over the top. This step is crucial—breadcrumbs add that signature crunch while helping the topping brown beautifully. Press down gently to ensure good contact between layers.

3

Bake to Golden Perfection

Transfer the skillet to the preheated oven and bake for 25-30 minutes until the potato topping is golden brown and crispy on top. You'll see the edges start to pull away from the pan—that's your signal it's ready. The internal temperature should reach 165°F when checked with an instant-read thermometer.

Let the fish pie rest for 5-10 minutes before serving. This resting period allows the filling to set slightly and makes it easier to slice. The contrast between the creamy fish filling and crispy potato topping is what makes this dish so special. Serve with a simple green salad or steamed vegetables for a complete meal.

👨‍🍳

Pro Tips For Making Basic Fish Pie

  • Dry the Potatoes Thoroughly: I learned this the hard way—wet potatoes steam instead of crisp up. After peeling and slicing, toss them in cold water for 10 minutes, then drain and pat them dry with a kitchen towel. No shortcut here—damp potatoes mean a soggy top crust, and nobody wants that.
  • Poach the Haddock: Skip frying—poaching keeps the fish tender and flaky. Simmer the haddock in lightly salted water with a bay leaf and peppercorn for 3-4 minutes (until just opaque), then shock in ice water. This method guarantees the fish stays moist under the creamy sauce, and you won’t end up with rubbery bites.
  • Prevent Curdling: Heavy cream and milk hate high heat. Warm the dairy mixture gently over low heat (or even better, temper it by whisking in a splash of cold liquid while heating) before adding it to the fish. A quick fix if it starts to split: whisk in 1 tablespoon of cold butter or a pinch of cornstarch slurry—just enough to smooth it out.
  • Layer Potatoes First: This isn’t the prettiest method, but it’s the tastiest. Parboil and arrange the potato slices in the baking dish before adding the fish and sauce. The bottom layer crisps up perfectly while the top stays creamy, and the potatoes absorb less moisture from the filling. Trust me, your pie will hold together better.

Flavor customization for this basic fish pie

Creamy vs. Light Sauce

For a richer version, replace half the milk with heavy cream—this makes the sauce extra velvety. I love adding ½ cup grated Gruyère cheese to the sauce for a nutty depth that pairs perfectly with the fish.

For a lighter option, swap the heavy cream for half-and-half and reduce the butter to ¼ cup. The lemon juice remains key—it brightens both versions and cuts through the richness. 💛

Herb Variations

Swap the parsley for fresh dill—it's classic with fish and adds a bright, grassy note. For a Mediterranean twist, mix 1 tbsp chopped fresh dill with 1 tsp dried oregano in the sauce.

If you love heat, add ½ tsp smoked paprika to the potato topping before baking. Fresh herbs like thyme or basil work too—just chop finely so they distribute evenly.

Cheesy Topping Twist

Add ½ cup shredded cheddar or Parmesan to the potato mixture for a golden, cheesy crust. I recommend sharp cheddar for a tangy kick or Pecorino Romano for a salty, umami punch.

For extra crispiness, sprinkle ¼ cup grated Parmesan over the breadcrumbs before baking. This version feels like a cross between fish pie and a cheesy potato bake.

Spicy Kick Options

Add ½ tsp cayenne pepper to the fish sauce for subtle heat, or stir in 1 tbsp hot sauce (like Cholula) at the end. For smoky spice, mix ½ tsp smoked paprika with the breadcrumbs.

If you love bold flavors, top with chopped jalapeños after baking—just remove seeds for less heat. The creaminess balances the spice beautifully. 🌶️

Vegetable Add-Ins

Stir ½ cup finely chopped mushrooms or leeks into the fish sauce for extra texture. I also love adding ½ cup frozen peas to the filling—they soften perfectly and add color.

For a veggie-packed version, mix ½ cup diced bell peppers and ½ cup corn into the potatoes before spreading. These additions work especially well with cod or pollock.

Gluten-Free Adaptation

Replace breadcrumbs with gluten-free panko or crushed gluten-free crackers (like Mary's Gone Crackers). For extra binding, mix 1 tbsp cornstarch into the potato topping. The texture stays crispy while keeping the dish safe for gluten-sensitive diners. I've tested this version and it holds up beautifully in the oven. 💡

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 32g41%
Saturated Fat 18g90%
Cholesterol 145mg48%
Sodium 950mg41%
Total Carbohydrate 48g17%
Dietary Fiber 5g18%
Sugars 6g
Protein 36g72%
* 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 about classic fish pie

1

Can I make this fish pie ahead of time?

Assemble the pie (without baking) up to 24 hours ahead and refrigerate. When ready to bake, add 10-15 extra minutes to the baking time. For best results, bake it fresh—this ensures the potato topping stays crispy rather than soggy.

2

What's the best fish to use besides haddock?

Cod or pollock work perfectly—they stay firm when cooked. For richer flavor, try salmon or halibut. Avoid flaky fish like tilapia, as they can turn mushy in the creamy sauce. Always buy fresh or high-quality frozen fillets.

3

Why did my potato topping turn out gummy?

This usually happens if the potatoes weren't mashed smooth enough or the pie wasn't baked long enough. Make sure to mash potatoes completely smooth (no lumps) and bake until the topping reaches 165°F internally. For extra crispiness, broil for 2-3 minutes at the end.

4

Can I make this recipe without breadcrumbs?

Yes! For a crispy topping without breadcrumbs, try crushed cornflakes or finely chopped almonds. For a softer texture, skip them entirely and just bake the mashed potatoes—this creates a more custard-like topping. The key is to ensure the potatoes are well-seasoned with butter and salt.

5

How do I reheat leftovers without drying it out?

Cover the pie with foil and reheat in a 350°F oven for 15-20 minutes. For microwave reheating, use low power (50%) for 2-3 minutes, then uncover to crisp the topping. Never reheat uncovered in the microwave—it'll make the potatoes rubbery.

★★★★★4.5(12 reviews)
Categories Desserts