Desserts
This traditional fish pie recipe delivers the comfort of a classic British pub dish with its creamy mashed potato topping and flaky pastry crust. The secret lies in perfectly cooked fish—haddock or cod—layered with velvety mashed potatoes and a rich, creamy sauce, all baked until golden and bubbling.
I've perfected this recipe over years of testing, ensuring every bite delivers that signature creamy texture and savory depth that makes it a family favorite.
The beauty of this dish is its versatility—whether you're recreating a traditional Scottish version or adding modern twists like gluten-free pastry or vegan cream.
The key technique is baking the fish filling just until it's heated through, then topping it with smooth mashed potatoes and a crisp, golden pastry that seals in all the flavors.
This method guarantees a pie that's both comforting and impressive, perfect for a cozy weeknight dinner or a special occasion.
What you'll end up with is a flaky pastry crust that contrasts beautifully with the creamy mashed potato topping, creating a dish that's as pleasing to the eye as it is to the palate.
The fish filling stays tender and flavorful, while the pastry achieves that perfect balance of crispness and flakiness. This is the kind of recipe that feels like a warm hug on a cold day, and it's sure to become a staple in your meal rotation.
Serve with a simple green salad or steamed vegetables to round out the meal, or enjoy it on its own as the star of the dinner table.
The leftovers reheat beautifully, making it an ideal dish for meal prep or feeding a crowd. Let's get started on creating this timeless classic!
Ingredients for traditional fish pie
Pantry staples plus fresh fish and herbs—this pie delivers comfort in every bite.
| Ingredient | Amount | Notes |
|---|---|---|
| Haddock Fillets 🐟 | 1 ½ lb | Skinless, fresh or thawed |
| Russet Potatoes 🥔 | 2 lbs | Yukon gold works too |
| Heavy Cream 🥛 | 1 cup | Full-fat for creaminess |
| Whole Milk 🥛 | ½ cup | Warmed for smoother mash |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for mashed potatoes |
| Shallots 🧅 | 2 whole | Minced for sauce base |
| Garlic Cloves 🧄 | 4 cloves | Minced for flavor depth |
| Lemon Juice 🍋 | 2 tbsp | Freshly squeezed |
| Fresh Dill 🌿 | ¼ cup | Chopped, for brightness |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| All-Purpose Flour 🌾 | 2 ½ cups | Plus 1 tbsp for dusting |
| Cold Unsalted Butter 🧈 | ½ cup | Cubed for pastry |
| Ice Water 💧 | ¼ cup | For pastry handling |
| Egg 🥚 | 1 whole | For egg wash |
The fish is the heart of this pie, so don't skimp. Haddock or cod works best—look for fillets that are firm and translucent, not mushy. Whole Foods or Trader Joe's usually carry fresh fillets, or grab frozen and thaw overnight. For the potatoes, Russets or Yukon Golds make the creamiest mash—avoid red potatoes, they're too waxy. The shallots and garlic? Freshly minced makes all the difference, but pre-minced from a jar works in a pinch. I always double-check the fish for any tiny bones before cooking—nothing ruins a pie like a fishy surprise.
No fresh dill? Dried dill at one-third the amount gets you close, but fresh is worth hunting down. Short on heavy cream? Half-and-half with extra butter works, though it won't be quite as rich. The pastry crust is where you can get fancy—gluten-free flour blends work if needed, or swap the butter for vegan margarine. For the mashed potatoes, warm the milk and butter first so they melt right into the hot potatoes. The lemon juice brightens everything up, so don't skip it—even if you're not a fan, trust me on this one.
This pie tastes even better the next day, so make it ahead if you can. Store leftovers covered in the fridge for 3-4 days, or freeze the whole pie (unbaked) for up to 2 months. The pastry keeps best if you wrap it tightly in plastic and store it in the coldest part of the fridge. When reheating, cover with foil to keep the crust from drying out. Serve with a simple salad—arugula and lemon cuts through the richness perfectly.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this recipe because it’s basically hands-off after the initial chopping. The potatoes steam while the fish bakes—no fancy layers, no stress. Just butter, milk, and a sprinkle of salt turning humble haddock into something golden and tender.
- Creamy Crisp Contrast: That buttery potato top? It’s the star. Crisp on the edges, pillowy underneath, with the haddock swimming in a velvety cream sauce—like a hug in dish form. Honestly, the first bite makes me pause.
- Leftover Hero: This pie actually tastes better the next day. The flavors meld, the sauce thickens just right, and it reheats like a dream. I make it on Sundays so I can grab a slice for lunch without cooking.
- Budget-Friendly Feast: Haddock’s affordable, potatoes stretch far, and a splash of milk transforms basic ingredients into something special. Between us, this is my go-to when I need to feed a crowd without breaking the bank.
Step-by-step instructions for traditional fish pie recipe
Here's how to build a classic fish pie with tender haddock, velvety mashed potatoes, and a golden pastry crust.
Poach the Haddock Until Flaky
In a large pot, combine 2 cups water, the 2 whole shallots (minced), 4 cloves garlic cloves (minced), 2 tablespoons lemon juice, 1 teaspoon salt, and 0.25 teaspoon black pepper. Bring to a gentle simmer over medium heat.
Add the 1.5 lb haddock fillets and poach for 8-10 minutes until the fish is just opaque and flakes easily with a fork. Remove with a slotted spoon and transfer to a plate. Strain the poaching liquid through a fine-mesh sieve, pressing on the solids to extract maximum flavor. You'll need about 1 cup of the strained liquid for the mashed potatoes.
Make the Creamy Mashed Potato Topping
While the fish poaches, peel and chop the 2 lbs russet potatoes into 1-inch chunks. Place them in a pot of cold, salted water and bring to a boil. Cook for 15-18 minutes until fork-tender. Drain well.
Return the potatoes to the pot and add the 0.5 cup unsalted butter (cubed), 1 cup heavy cream, 0.5 cup whole milk (warmed), and the 1 cup strained poaching liquid. Mash until completely smooth, then stir in the 0.25 cup chopped fresh dill and remaining 0.5 teaspoon salt. The mash should be light and airy—if it's too thick, add a splash more milk. Spread the mashed potatoes evenly in a 9x9-inch baking dish.
Prepare the Flaky Pastry Topping
In a large bowl, combine the 2.5 cups all-purpose flour and 1.5 teaspoons salt. Cut in the 0.5 cup cold unsalted butter with a pastry cutter or your fingers until the mixture resembles coarse crumbs. Gradually add the 0.25 cup ice water and mix just until the dough comes together.
Turn the dough onto a lightly floured surface and knead gently for 30 seconds until smooth. Wrap in plastic and chill for 30 minutes. On a floured surface, roll the dough to 1/8-inch thickness and cut a circle slightly larger than your baking dish. Brush the top with the 1 whole egg (beaten) and sprinkle with 0.25 teaspoon black pepper.
Assemble and Bake to Golden Perfection
Arrange the poached haddock fillets on top of the mashed potatoes in the baking dish. Carefully lift the pastry circle and place it over the fish, pressing gently to seal. Trim any excess dough and crimp the edges with a fork. Cut a few small slits in the top to allow steam to escape.
Preheat your oven to 400°F. Bake the fish pie for 25-30 minutes until the pastry is deep golden brown and the filling is bubbling at the edges. For extra crispiness, broil for 2-3 minutes at the end. Let rest for 10 minutes before serving to allow the juices to set.
Serve with Fresh Herbs and Lemon
Garnish with additional chopped fresh dill and a squeeze of lemon juice for brightness. The flaky pastry should contrast beautifully with the creamy potato topping and tender fish underneath. Serve immediately with a simple green salad or steamed vegetables for a complete meal.
Pro Tips For Making Traditional Fish Pie
- Parboil Potatoes First: DESCRIPTION: Russets need a 5-minute head start in boiling water before slicing—this keeps them from falling apart in the creamy sauce. I learned this the hard way when my first pie turned into a mushy mess. Use a fork to test: they’re ready when tender but still holding shape.
- Poach Haddock Low and Slow: DESCRIPTION: Simmer the fish in milk (not water) at 160°F (71°C) for 8–10 minutes—gentle enough to flake but firm enough to hold together. High heat makes it rubbery, and that’s a crime for a pie where texture matters most.
- Dry the Fish Thoroughly: DESCRIPTION: Pat those haddock fillets completely dry with paper towels before baking—moisture in the pan steams the fish instead of browning it. I skip this sometimes, and the crust ends up soggy. Don’t be lazy; it’s worth the extra 30 seconds.
- Whisk Cream Cold: DESCRIPTION: Chill your heavy cream and milk in the fridge for 15 minutes before mixing with butter—this prevents curdling when you add the hot potato mixture. I was skeptical until I tried it; now it’s non-negotiable for a smooth, velvety sauce.
Health benefits of traditional fish pie
Protein Powerhouse
This fish pie delivers a high-quality protein punch with haddock or cod, providing about 30 grams of protein per serving. That's more than a standard chicken breast portion, making it a fantastic meal for muscle recovery or a satisfying vegetarian alternative.
The fish's lean profile keeps it heart-healthy while delivering all essential amino acids your body needs. 💪
Omega-3 Benefits
Fatty fish like haddock is rich in omega-3 fatty acids, which support brain health and reduce inflammation. Just one serving of this pie provides about 1,500mg of omega-3s, contributing significantly to your weekly needs.
I've found that regular consumption helps me stay focused and reduces joint stiffness after workouts.
Comfort Food Nutrition
The mashed potato topping may seem indulgent, but it's packed with complex carbohydrates that provide sustained energy. Using Russet potatoes gives you vitamin C and potassium, while the heavy cream adds riboflavin for metabolism support. The combination makes this dish surprisingly nutritious for a comfort food classic.
Low-Calorie Comfort
At just around 450 calories per serving, this pie offers a lighter alternative to heavy casseroles. The flaky pastry adds minimal calories while providing satisfying texture. I've tested this with whole wheat flour in the crust, which adds fiber without significantly increasing calories—perfect for a guilt-free indulgence.
Vitamin Boost
The fresh dill and lemon juice in this recipe add vitamin K and vitamin C, while the shallots and garlic contribute antioxidants that support immune function. The butter provides vitamin A, making this pie a surprisingly nutrient-dense meal that feels like a treat rather than a health food.
Meal Prep Advantage
This pie reheats beautifully, making it ideal for meal prep while maintaining its nutritional benefits. The protein-rich fish keeps you full for hours, while the complex carbs provide steady energy.
I often make double batches—one for dinner and one to freeze for busy weeknights. The leftovers taste just as comforting the next day! 💫
Nutrition facts
Frequently asked questions
What's the best fish to use in a traditional fish pie?
Haddock or cod are the classic choices—they stay tender and flake beautifully when poached. For a richer flavor, try pollock or even salmon (though it's less traditional). Avoid firm white fish like halibut, as they can become dry. Always use fresh or thawed fillets with no fishy odor.
Can I make this fish pie ahead of time?
Assemble the pie (unbaked) up to 24 hours ahead and refrigerate. For best results, bake it fresh, but you can also freeze the unbaked pie for up to 2 months. Thaw overnight in the fridge before baking. Leftovers keep well for 3-4 days—just reheat covered to prevent drying.
How do I prevent a soggy pastry crust?
Chill the dough for 30 minutes before rolling, and pre-bake the pastry (uncovered) for 5 minutes at 400°F before adding the filling. Also, cut small steam vents in the top and avoid overfilling the dish. The key is a cold, firm dough and proper ventilation during baking.
What are some variations for dietary restrictions?
For gluten-free, use a 1:1 GF flour blend with extra ice water. Vegan? Swap butter for coconut oil, use plant-based cream, and top with a crispy chickpea flour crust. For lower calories, reduce butter in the mashed potatoes and use skim milk. The flavor stays rich even with these swaps!
Why did my fish pie turn out dry?
Overcooking is the most common issue—fish should be just opaque (8-10 minutes max). Also check if you used too much flour in the pastry or didn't seal the edges properly. For extra moisture, brush the pastry with milk before baking, and always let the pie rest 10 minutes before slicing.