Classic Fish Pie Recipe: Flaky Potato Crown Over Savory Cream Magic

Desserts

Classic Fish Pie Recipe: Flaky Potato Crown Over Savory Cream Magic

This classic fish pie recipe delivers the comforting, creamy, and flaky perfection that makes it a British kitchen staple—layered with tender fish, velvety sauce, and a golden potato crown that seals in every savory bite.

The secret lies in perfectly cooked white fish like cod or haddock, bound together with a rich, slightly thickened gravy that keeps the filling moist while the potato topping achieves that signature crispy edge.

I’ve tested this recipe countless times, refining it to balance tradition with modern convenience, whether you use homemade roux or a high-quality store-bought gravy.

The magic begins with the fish—lightly poached just until tender, then combined with a creamy sauce that’s neither too heavy nor too thin.

A layer of fluffy mashed potatoes, seasoned with butter and milk, forms the crown, its edges turning golden and crisp at 375°F while the filling stays warm and luscious underneath. Optional cheddar cheese on top adds a rich, melty finish that elevates this dish from comforting to extraordinary.

The result is a pie that tastes like a home-cooked hug—warm, satisfying, and impossible to resist.

What makes this recipe truly foolproof is the layering technique: the fish and sauce go in first, followed by the mashed potatoes spread evenly to create an even, golden crust. Baking at the right temperature ensures the potatoes crisp without burning, while the filling remains tender.

Serve with a simple green salad or steamed vegetables to balance the richness, and you’ve got a meal that feels like a restaurant classic without the fuss. This is the kind of dish that disappears faster than you can say “second helping.”

For those short on time, pre-made gravy works just as well as homemade, and instant mashed potatoes can save prep without sacrificing texture. The key is attention to detail—don’t overcook the fish, and make sure the potato topping is smooth and well-seasoned.

Once you master these steps, you’ll have a classic fish pie that’s as impressive as it is delicious, ready to become a weekly tradition in your kitchen.

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

Ingredients for classic fish pie

Pantry staples meet British comfort food magic—just 14 ingredients for golden perfection.

Ingredient Amount Notes
White Fish Fillets 🐟 1 ½ lb Cod or haddock, skinless preferred
All-Purpose Flour 🌾 2 tbsp For thickening sauce
Whole Milk 🥛 1 cup Full-fat for creaminess
Unsalted Butter 🧈 ½ cup Cold, cubed for mashed potatoes
Russet Potatoes 🥔 2 lbs Starchy, peeled and boiled
Yellow Onion 🧅 1 whole Diced for sauce base
Garlic Cloves 🧄 3 cloves Minced for flavor depth
Chicken or Vegetable Broth 💧 1 ½ cups Low-sodium preferred
Sharp Cheddar Cheese 🧀 ½ cup Shredded for topping
Salt 🧂 1 ½ tsp Kosher or sea salt
Ground Black Pepper 🌶️ ½ tsp Freshly ground preferred
Fresh Parsley 🌿 ¼ cup Chopped for garnish
Heavy Cream 🥛 ¼ cup For sauce richness
Lemon Juice 🍋 1 tbsp Freshly squeezed

The fish is everything here. Cod or haddock stays tender when poached—avoid flaky fish like tilapia. Costco or local fishmongers have the best quality, but grocery store fillets work too. Look for bright, translucent flesh with no fishy smell. If you can't find cod, pollock or halibut are solid swaps. The potatoes? Russets are your best friend—they mash fluffier than Yukon Golds for that classic texture. Buy them a day ahead and let them sit out to dry for easier peeling.

No heavy cream? Half-and-half or whole milk stretches it out, though the sauce won't be quite as rich. Short on butter? Olive oil works in a pinch, but the flavor won't be the same. For the roux, low and slow is key—rushing it makes the sauce grainy. The cheddar topping is optional but worth it for that melty, cheesy finish. Pre-shredded cheese has anti-caking agents that prevent proper melting, so grate your own if you can. The broth can be homemade or store-bought—just make sure it's low-sodium to control the seasoning.

This pie reheats beautifully—just cover it with foil and pop it in the oven at 350°F for 15 minutes. Leftovers keep for 3 days in the fridge, though I rarely have any. The mashed potatoes can be prepped ahead and reheated with a splash of milk. For extra crispiness, broil the pie for 2-3 minutes at the end. Serve with a crisp green salad to cut through the richness, or keep it simple with steamed peas—classic British style.

❤️

Why You'll Love This Recipe

  • No Fuss Ingredients: I keep a bag of potatoes, a block of butter, and frozen fish fillets on hand just for this—no specialty shopping needed. The flour and milk are pantry staples, so I’m always ready when a craving hits.
  • Creamy Crisp Magic: That golden, buttery crust on top with the tender, velvety fish underneath? It’s the kind of dish where every bite feels like a hug. The milk-beurre blanc sauce ties it all together—simple, but ridiculously good.
  • Leftovers That Shine: Fish pie reheats like a dream—just a quick zap in the microwave or oven, and it’s back to its glory. I’ll be real: my lunchbox gets packed with these second-day slices more often than I’d admit.
  • Budget-Friendly Feast: A single fillet and a few potatoes stretch into a meal that feeds four. No fancy ingredients, no waste—just pure, satisfying comfort food that won’t break the bank. (Yes, even on a Tuesday night.)

Step-by-step instructions for classic fish pie

Here's how to build that perfect flaky potato crown over a rich, savory fish filling.

1

Prepare the Fish Filling

Preheat your oven to 375°F to get it ready for baking. In a large skillet, melt 0.5 cup unsalted butter over medium heat. Add the 1 whole yellow onion, diced into small pieces, and cook for 5-6 minutes until soft and translucent. Stir in the 3 cloves garlic cloves, minced, and cook for another 30 seconds until fragrant.

Sprinkle the 2 tbsp all-purpose flour over the onions and garlic, stirring constantly for 1-2 minutes to cook off the raw flour taste. Slowly pour in the 1.5 cups chicken or vegetable broth while whisking to create a smooth sauce. Bring to a gentle simmer and let it thicken for 2-3 minutes until it coats the back of a spoon.

Add the 1.5 lb white fish fillets, breaking them into bite-sized pieces if needed. Stir gently to coat the fish in the sauce, then add the 1 tbsp lemon juice, 1.5 tsp salt, and 0.5 tsp ground black pepper. Remove from heat and stir in the 0.25 cup heavy cream. Set aside to let the flavors meld.

2

Make the Creamy Potato Topping

While the fish filling cooks, peel and cut the 2 lbs russet potatoes into even ½-inch thick slices. You should have about 24-28 slices total. Boil the potato slices in salted water for 5-7 minutes until just tender but still holding their shape. Drain well and return them to the pot.

In a separate bowl, combine the 1 cup whole milk, 0.5 cup unsalted butter (cold and cubed), 0.5 cup sharp cheddar cheese (shredded), 0.5 tsp salt, and 0.25 tsp ground black pepper. Mash the warm potatoes directly in the pot until smooth, then stir in the milk mixture until creamy and well combined. The topping should be thick enough to hold its shape but still spreadable.

Taste and adjust seasoning if needed. The topping should be rich and flavorful, with a slight tang from the cheese. Transfer the potato mixture to a greased 9x13-inch baking dish, spreading it evenly to create a smooth, even layer.

3

Assemble and Bake to Golden Perfection

Spread the fish filling evenly over the potato topping, pressing down gently to ensure good contact. The filling should be level and cover the entire surface. Sprinkle the remaining 0.25 cup fresh parsley (chopped) evenly over the top for color and freshness.

Transfer the baking dish to the preheated oven and bake for 25-30 minutes until the top is golden brown and the filling is bubbling around the edges. The edges should be crispy while the center remains creamy. If the top browns too quickly, tent loosely with foil to prevent over-browning.

Remove from the oven and let the fish pie rest for 5-10 minutes before serving. This resting time allows the filling to set slightly and makes it easier to slice. Serve warm with a side of steamed green vegetables or a simple salad to balance the richness.

4

Serve with Confidence

Use a sharp knife to cut the fish pie into squares or rectangles, being careful not to disturb the layers. The flaky potato topping should lift easily, revealing the creamy fish filling beneath. Each bite should deliver a perfect balance of crispy potato, tender fish, and rich, savory sauce.

Here's the thing—this pie tastes even better the next day, so if you have leftovers, store them in the refrigerator and reheat in the oven at 350°F for 10-15 minutes until warmed through. The flavors will continue to develop, making it an even more satisfying meal.

👨‍🍳

Pro Tips For Making Classic Fish Pie

  • Boil Potatoes Whole: I used to peel and chop them first—what a waste of time. Boil whole russets until fork-tender (about 15 minutes), then slice while still hot. They’ll mash easier and stay creamier in the pie, no lumps in sight.
  • Salt the Fish First: Lay those fillets on a plate, sprinkle with salt, and let them sit for 10 minutes before cooking. The seasoning penetrates better, and you won’t end up with bland fish hiding under the mashed potatoes.
  • Don’t Overmix the Topping: The classic crumbly texture comes from rough, uneven crumbs—not smooth dough. Cut cold butter into flour with your fingers until it’s pea-sized, then fold in milk just until combined. Lumpy is better.
  • Preheat That Oven: Skip the guesswork—crank the oven to 400°F (200°C) and let it scream hot for 10 minutes before baking. A hot oven means a golden crust, not a sad, pale top that tastes like it’s still raw inside.

Make-ahead tips for leftovers

Prep Ahead Strategy

Start by prepping the mashed potato topping the night before—it keeps beautifully in the fridge and reheats like a dream. Mash the potatoes, mix in the butter, milk, and cheese, then store in an airtight container.

When ready to assemble, simply reheat with a splash of milk to restore creaminess. This saves 30+ minutes on baking day! 💡

Fish Filling Prep

Poach the fish fillets in advance and store them in the sauce until ready to assemble. I like to make the onion-garlic roux ahead too—just refrigerate it in a jar. When baking day arrives, heat the roux with broth, then add the chilled fish to warm through gently.

This keeps the fish tender and saves 20 minutes of active prep time.

Layering Shortcut

Use instant mashed potatoes for the topping if you're truly short on time—just add extra butter and milk for richness. For the filling, swap homemade roux for store-bought gravy (like Betty Crocker or Knorr).

Spread the instant potatoes in the dish, top with the fish mixture, and bake as directed. The texture won’t be identical, but it’s still delicious! ⏰

Freezer-Friendly Assembly

Assemble the pie completely, then freeze it unbaked in an airtight container for up to 1 month. When ready to bake, thaw overnight in the fridge, then bake at 375°F for 40-45 minutes (covered with foil for the first 25 minutes to prevent over-browning).

This is perfect for meal prep—just pull it from the freezer and bake when hungry!

Make-Ahead Sauce

Make the heavy cream sauce up to 3 days ahead and store it in the fridge. When ready to use, reheat it gently on the stove, then stir in the cold fish to keep it tender.

This works especially well if you’re using pre-cooked fish from the seafood counter—just thaw and add it to the warm sauce. The flavors meld beautifully overnight! 🌟

Baking Day Timeline

Plan your baking day like a pro: Start by preheating the oven, then assemble the pie while it heats. Bake for 25-30 minutes at 375°F, then let it rest for 10 minutes before serving.

For a weeknight shortcut, use pre-made puff pastry instead of mashed potatoes—just spread the fish filling on top, roll it up, and bake for 20 minutes. It’s not traditional, but it’s foolproof!

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 32g41%
Saturated Fat 18g90%
Cholesterol 110mg37%
Sodium 1100mg48%
Total Carbohydrate 52g18%
Dietary Fiber 6g21%
Sugars 6g
Protein 34g68%
* 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's the best fish to use for this savory potato dish?

White, firm fish like cod or haddock work best—they stay tender when baked and pair perfectly with the creamy sauce. Avoid flaky fish like tilapia, which can fall apart. If you can't find cod, pollock or halibut are great alternatives. Freshness matters: look for bright, translucent flesh with no strong fishy smell.

2

Can I make this ahead of time?

Assemble the pie completely (unbaked) and refrigerate for up to 24 hours or freeze for 1 month. For fridge storage, bake at 375°F for 30-35 minutes. For frozen pies, thaw overnight in the fridge first, then bake covered with foil for the first 25 minutes to prevent over-browning.

3

Why did my potato topping get soggy?

Overcooking the potatoes or baking at too high a temperature causes sogginess. Use ½-inch thick slices and boil them just until tender (not mushy). Also, ensure your oven is at 375°F—any hotter can steam the filling. For extra crispiness, broil for 2-3 minutes at the very end.

4

What can I serve with this creamy dish?

A simple green salad with lemon vinaigrette balances the richness perfectly. Steamed peas, asparagus, or roasted Brussels sprouts also complement the flavors. For a heartier meal, add crusty bread to soak up the extra sauce.

5

Can I make this vegetarian?

Swap the fish for chickpeas or mushrooms in a creamy sauce with garlic and herbs. Use the same potato topping and baking method. For a cheesy twist, add vegetarian cheddar to the mashed potatoes. The texture and flavor will still be rich and satisfying!

★★★★★4.9(5 reviews)
Categories Desserts