Growing up in coastal Maine, my grandmother’s haddock pie was a Friday night tradition. I can still picture her in her tiny kitchen, carefully layering the fish and potatoes while telling stories about my grandfather’s fishing days. When I first tried making it myself as a newly-moved-out 20-something, it was… well, let’s just say the fish was rubbery and the sauce was lumpy.
But after a few phone calls to Gram and some trial and error, I figured out the trick – it’s all about getting the sauce right first, then letting the fish cook gently in the oven. Now my kids ask for it just like I used to, and somehow it tastes exactly like those Friday nights at Gram’s house.

Suggestions for Ingredient Substitution
For the fish fillets, any white fish like pollock, tilapia, or halibut can be used in place of cod or haddock. These alternatives offer similar texture and mild flavor profiles while potentially being more sustainable or budget-friendly options. Salmon can be replaced with arctic char or steelhead trout for a comparable rich, oily fish component. These substitutions maintain the dish’s nutritional value and omega-3 content.
Starchy potatoes can be swapped with cauliflower for a low-carb version. Steam and mash the cauliflower, then mix with butter and cream as directed. This substitution significantly reduces the carbohydrate content while adding more fiber and nutrients. Adjust seasoning as cauliflower may require more salt.
For a dairy-free alternative, replace milk, butter, and cream with unsweetened almond milk and coconut oil. Use nutritional yeast instead of cheddar cheese to maintain a savory flavor. These substitutions make the dish suitable for those with lactose intolerance or following a vegan diet. Cooking times may need slight adjustment due to different fat contents in these alternatives.
| Preparation Time | 20-30 minutes |
| Cooking Time | 35-40 minutes |
| Total Time | 55-70 minutes |
| Level of Difficulty | Medium |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 2200-2500
- Protein: 150-170 g
- Fat: 110-130 g
- Carbohydrates: 200-220 g
Ingredients
For the mashed potatoes:
- 3 tbsp heavy cream
- 0.75 tbsp unsalted butter (I like Kerrygold unsalted butter for this)
- 2.5 lbs potatoes (such as Russet or Yukon Gold, peeled and quartered)
- 1 pinch black pepper
- 1 pinch salt
For the fish:
- 2.5 cups whole milk
- 2 cod fillets (or haddock)
- 2 salmon fillets
- 15 large prawns (peeled and deveined)
For the sauce and topping:
- 1 pinch black pepper
- 1 tbsp chopped chives
- 2 tbsp all-purpose flour (I always use King Arthur all-purpose flour)
- 1.5 cups shredded sharp cheddar cheese
- 1.5 tbsp unsalted butter
For serving (optional):
- peas
- sweetcorn
Step 1: Prepare the Potatoes
Preheat your oven to 200°C/400°F (fan).
Begin by placing the potatoes in a pan and covering them with cold water.
Bring the water to a boil, then reduce to a simmer for 15 minutes.
Once the potatoes are soft, drain them and mash using a potato masher or ricer.
Stir in half of the butter, the cream, and a pinch of salt and pepper, then set the mashed potatoes aside.
Step 2: Cook the Fish
In a large saucepan, heat the milk and add the salmon fillets and cod or haddock.
Bring the mixture to a boil, then simmer for 2-3 minutes.
If you’re using raw prawns, add them during the last minute of cooking.
Once the fish is cooked and begins to flake, remove it from the pan and place it in a large baking dish.
Add cooked prawns if you’re using pre-cooked ones.
Discard any fish skin.
Step 3: Make the Sauce
Pour the cooking liquid from the fish into a jug and set it aside.
In the same pan, melt the remaining butter, then stir in the flour.
Cook this mixture over medium heat, stirring with a wooden spoon, for about a minute.
Gradually add the reserved cooking milk back into the pan while stirring with a balloon whisk until the sauce thickens.
Turn off the heat and mix in half of the cheese along with a pinch of black pepper.
Step 4: Assemble the Fish Pie
Pour the sauce over the fish and prawn mixture in the baking dish.
Spoon the mashed potatoes over the top, then use a fork to spread them evenly and create a lined pattern across the surface.
This pattern helps the top crisp up nicely.
Step 5: Bake the Fish Pie
Sprinkle the remaining cheese over the mashed potatoes.
Place the baking dish in the preheated oven and bake for 15-20 minutes, or until the cheese is melted and golden brown.
Step 6: Garnish and Serve
Once baked, remove the dish from the oven and top with freshly chopped chives.
Serve the fish pie hot, accompanied by peas and sweetcorn.
Enjoy your comforting and delicious meal!

