Desserts
This basic fish pie recipe delivers comfort food perfection with layers of creamy fish filling topped by flaky mashed potatoes. The secret lies in a rich white sauce that binds tender fish and vegetables, while the buttery potato topping creates that signature golden crust.
I developed this version after testing countless methods to achieve the ideal balance of textures and flavors.
The recipe begins with simple ingredients you likely already have: fresh or canned fish, potatoes, milk, and basic pantry staples. The white sauce forms the foundation, blending smoothly with cooked fish and vegetables for a velvety filling.
For the potato topping, we mash boiled potatoes with butter and milk until light and airy, then spread them over the filling before baking to golden perfection.
What you'll end up with is a classic fish pie that's creamy inside with a flaky, buttery crust on top. The aroma alone will have everyone gathering at the table, and each bite delivers that perfect combination of tender fish, rich sauce, and crispy potato topping.
This recipe builds on traditional methods but simplifies them for consistent results every time.
Perfect for family dinners or special occasions, this fish pie serves 6 and comes together in about 1 hour of active time plus 30 minutes of baking.
The instructions walk through each step clearly, from preparing the filling to creating the perfect mashed potato topping. Let's get started on this comforting classic!
Ingredients for basic fish pie
Sixteen ingredients for a pie that tastes like home—creamy, flaky, and full of comfort.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, haddock, or tilapia preferred |
| Russet Potatoes 🥔 | 3 lb | Medium size, peeled and cubed |
| Unsalted Butter 🧈 | ¾ cup | Cold, cut into small pieces |
| Whole Milk 🥛 | 1 ½ cups | Full-fat for creaminess |
| All-Purpose Flour 🌾 | ¼ cup | For white sauce |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Yellow Onion 🧅 | 1 whole | Diced, about 1 cup |
| Garlic Cloves 🧄 | 4 cloves | Minced, for depth |
| Frozen Peas 🌱 | 1 cup | Thawed, for texture |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Dried Thyme 🌿 | ½ tsp | Or 1 tbsp fresh |
| Breadcrumbs 🍞 | ¼ cup | Plain, for extra crunch |
The fish is the star, so don't cut corners. Wild-caught cod or haddock from the seafood counter is ideal—look for bright, translucent fillets with no fishy smell. Trader Joe's or Whole Foods often have great frozen options too. If using canned fish, opt for wild-caught salmon or tuna in water, not oil. The potatoes? Russets are non-negotiable—their high starch content makes them fluffier. Buy a few extra; you'll want seconds. For the butter, Plugrá or Land O'Lakes work perfectly, but grab the unsalted kind—you control the seasoning here.
No fresh thyme? Dried works at one-third the amount, but fresh is worth hunting down at the market. Short on breadcrumbs? Toasted panko or crushed potato chips add crunch without the dryness. The heavy cream can be swapped for half-and-half if you're watching fat**, but the texture won't be quite as luscious. For the peas, frozen is fine—just thaw and drain them well. The lemon juice? Fresh is a must—bottled won't cut it. And if you're feeling fancy, add a splash of dry sherry or white wine** to the white sauce for extra depth.
This pie reheats beautifully—just cover it with foil and bake at 375°F for 15-20 minutes. Keeps in the fridge for 3-4 days, though it's best the first day. Freezes like a dream for up to 3 months. I always make a double batch—one for dinner, one for leftovers that become tomorrow's lunch. Pro tip: Sprinkle a little grated Parmesan on top before baking for extra richness. Trust me, it's worth the extra minute.
Why You'll Love This Recipe
- Five-Ingredient Magic: The pantry staples here—just butter, milk, flour, potatoes, and fish—mean no fancy shopping. I swear by this combo: the potatoes soak up the creamy sauce while the fish stays tender, and honestly? It’s the kind of meal that makes you feel like you’ve outsmarted grocery day.
- Creamy Crisp Contrast: That golden crust on top? Pure satisfaction. The flour-butter-milk roux thickens into a velvety sauce, but the real star is the way the potatoes get just tender enough—never mushy—while the fish stays flaky. Between us, it’s the kind of texture that makes you close your eyes mid-bite.
- Lunch or Dinner Fix: Make it for a lazy Sunday supper or pack it for work—this pie reheats like a dream. I’ve served it at potlucks (it disappears fast) and as a midnight snack (yes, really). The milk-based sauce even freezes well, so it’s my go-to when I need a no-fuss meal that still feels special.
- Budget-Friendly Feast: White fish is cheaper than you think, and potatoes stretch this into a full meal for four. I’ll be real: I’ve made this for under $15 total, and it’s the kind of dish that makes you feel like you’re feeding a crowd without breaking the bank. Plus, leftovers? They’re even better the next day.
Step-by-step instructions for flaky mashed crown over creamy fish filling
Here's how to build a showstopping fish pie with layers of tender fish and velvety mash.
🍳 Step 1: Prepare the Creamy Fish Filling
Preheat your oven to 375°F. In a large oven-safe skillet, melt 0.25 cup all-purpose flour with 0.25 cup unsalted butter over medium heat until bubbly. Add the 1 whole diced yellow onion and cook for 5 minutes until softened.
Stir in the 4 minced garlic cloves and cook for 30 seconds until fragrant. Add the 1.5 lb white fish fillets, breaking them into chunks, and cook just until they begin to flake—about 3-4 minutes. Remove from heat and stir in 1 cup thawed frozen peas, 1 tbsp lemon juice, 0.5 tsp dried thyme, 0.5 tsp ground black pepper, and 1 tsp salt. Set aside.
In a separate saucepan, heat 1.5 cups whole milk and 0.5 cup heavy cream over medium-low heat until steaming. Whisk in the remaining 0.5 tsp salt and 0.5 tsp ground black pepper, then pour this warm cream mixture over the fish. Stir gently to combine—this keeps the fish tender while creating a luscious sauce.
🥘 Step 2: Assemble the Mashed Potato Topping
While the fish filling simmers, boil the 3 lb russet potatoes in salted water until fork-tender (15-20 minutes). Drain well and return them to the pot.
Add the 0.5 cup remaining unsalted butter and mash until smooth. Stir in 1.5 cups whole milk (warm, not hot) and 0.25 cup breadcrumbs until creamy and fluffy. Season with 0.5 tsp salt and 0.25 tsp black pepper. The mash should be light and airy—this is key for that flaky, golden crust.
Spread half of the mashed potatoes evenly over the fish filling in the skillet. Use a spatula to create a smooth, even layer—this prevents gaps where the crust might not form properly.
🔥 Step 3: Bake to Golden Perfection
Return the skillet to the oven and bake for 20 minutes. Remove and spread the remaining mashed potatoes evenly over the top, creating a smooth, dome-shaped crust. Return to the oven and bake for an additional 15-20 minutes until the top is golden brown and crispy.
Here's the trick for flaky layers: Let the pie rest for 5 minutes after baking. This allows the steam to redistribute, ensuring every bite is creamy and the crust stays intact. Serve immediately with a squeeze of fresh lemon juice and extra black pepper.
⏰ Step 4: Rest and Serve for Maximum Creaminess
Transfer the pie to a serving platter and let it rest for 5 minutes—this is non-negotiable. The filling will continue to thicken slightly, and the crust will firm up just enough to hold its shape when sliced.
For the ultimate presentation, garnish with extra black pepper and a sprinkle of breadcrumbs for texture. The contrast of the crispy, golden crust with the creamy fish filling is what makes this pie irresistible. Serve with a side of steamed green beans or a simple salad to balance the richness.
Pro Tips For Making Basic Fish Pie
- Boil Potatoes Until Fork-Tender: I learned this the hard way—undercooked potatoes turn to mush in that creamy sauce. Boil russets until they collapse like overripe fruit when pierced (about 15-18 minutes), then mash while hot. Cold potatoes? You’re fighting an uphill battle with texture.
- Salt the Fish Immediately: That first sprinkle of salt on raw fish fillets makes all the difference. Season both sides generously right after patting dry—it seasons deeper and prevents blandness. (Yes, even if you’re impatient like me.)
- Whisk Milk into Butter Slowly: Dumping cold milk into melted butter makes lumpy bechamel every time. Melt butter first, then whisk in warm milk a ladle at a time while stirring constantly. The sauce should thicken like heavy cream, not glue.
- Bake Covered, Then Uncovered: Skip the foil halfway through—cover the pie for 20 minutes to melt the cheese (if using) or set the potato topping, then uncover the last 10 for a golden crust. This isn’t the prettiest method, but it’s the tastiest.
Best sauces and condiments for this recipe
Classic White Sauce
The foundation of any great fish pie is the rich, velvety white sauce that binds the fish and vegetables. I start by melting 2 tablespoons butter in a saucepan over medium heat, then whisk in 2 tablespoons all-purpose flour to form a roux.
Gradually add 1.5 cups whole milk while whisking constantly to prevent lumps. Simmer for 5-7 minutes until thickened, then stir in 0.5 cup heavy cream for extra richness. Season with 0.5 teaspoon salt and 0.25 teaspoon white pepper—white pepper keeps the sauce looking pristine. 🌟
Lemon-Cream Drizzle
Brighten the pie with a tangy finish by whisking together 2 tablespoons heavy cream, 1 tablespoon fresh lemon juice, and 1 teaspoon lemon zest. Drizzle this mixture over the baked pie just before serving—it adds a refreshing contrast to the creamy filling.
For extra flair, sprinkle with chopped fresh parsley or crumbled feta cheese for a Mediterranean twist.
Cheesy Potato Topping
For a decadent variation, fold 0.5 cup shredded sharp cheddar into the mashed potato topping before spreading it over the fish filling. The cheese melts into a golden, bubbly crust that adds depth of flavor.
I like Cabot or Tillamook cheddar for their rich, tangy profiles. For a lighter option, use reduced-fat cream cheese blended into the mash.
Herb-Infused Olive Oil
Add complexity to your pie by drizzling 1 tablespoon high-quality extra-virgin olive oil infused with 1 teaspoon dried dill and 1 teaspoon dried tarragon over the fish filling before adding the mashed potato topping.
The herbs steep in the warm oil for 10 minutes while you prepare the rest of the pie, releasing their aromatic oils. Strain before using to avoid texture issues. 🌿
Spicy Mustard Twist
For those who love a kick, stir 1 teaspoon Dijon mustard into the white sauce while it thickens. The mustard cuts through the richness and adds a subtle tang. For extra heat, add a pinch of cayenne pepper or ½ teaspoon hot sauce.
This works especially well with firm white fish like cod or haddock, which hold up to bold flavors.
Crispy Breadcrumb Crust
For an ultra-crispy topping, mix 0.25 cup panko breadcrumbs with 1 tablespoon melted butter and 1 teaspoon fresh parsley. Sprinkle this mixture over the pie just before the final 10 minutes of baking.
The breadcrumbs toast to a golden, crunchy finish that adds texture contrast. For extra flavor, toast the breadcrumbs in a dry skillet over medium heat for 2-3 minutes before mixing with butter.
Nutrition facts
Frequently asked questions
Can I use canned fish instead of fresh for this recipe?
Yes! Canned fish works perfectly—just drain it well and flake the chunks with a fork. Wild-caught salmon or tuna in water (not oil) are best for texture. For extra flavor, add 1 teaspoon lemon juice and ½ teaspoon dried dill to mimic fresh fish's brightness.
Why does my fish pie crust turn soggy?
Soggy crusts happen when steam escapes too quickly. Always spread an even layer of mashed potatoes and ensure the filling is hot before adding the top layer. For extra insurance, bake the bottom layer for 20 minutes first, then add the top crust. Let it rest 5 minutes after baking to redistribute moisture.
Can I make this recipe ahead of time?
Assemble the pie up to 24 hours ahead and refrigerate uncovered. Bake straight from the fridge (add 5-10 minutes to baking time). For freezing, bake first, then cool completely. Wrap tightly and freeze for up to 3 months. Reheat covered with foil at 375°F for 20-25 minutes.
What's the best fish for this dish?
Cod, haddock, or tilapia are ideal—they stay tender and flake easily. Avoid delicate fish like sole or flounder, which can turn mushy. For a richer flavor, try salmon or halibut. If using frozen fish, thaw it overnight in the fridge for even cooking.
How do I make the mashed potatoes extra creamy?
Use warm (not hot) milk when mashing and avoid overworking the potatoes. For extra richness, add 2 tablespoons sour cream or 1 ounce cream cheese to the finished mash. Let it sit covered for 5 minutes after mashing to thicken naturally.