Creamy Fish Pie with Peas, Eggs, and Parmesan Recipe
Introduction
Fish pie is a comforting British classic, combining tender flakes of smoked and fresh fish in a creamy sauce, topped with fluffy mashed potatoes. This hearty dish is perfect for cozy dinners and makes great leftovers too.

Ingredients
- 400 g / 14 oz smoked fish of choice
- 400 g / 14 oz raw unsmoked fish of choice (I used Perch)
- 3 cups / 750 ml milk (low fat or full fat)
- 1 brown onion, quartered
- 4 cloves (optional)
- 50 g / 3 tbsp unsalted butter
- 2 garlic cloves, minced
- 1/2 small onion, finely chopped
- 1 small carrot, finely chopped
- 1 small celery stick, finely chopped
- 1/3 cup / 50 g plain flour (all purpose flour)
- 1 tbsp fresh tarragon, finely chopped (optional)
- 2 tbsp parsley, finely chopped
- Salt and pepper
- 750 g / 1.5 lb floury potatoes, peeled and cut into 2.5 cm / 1″ pieces
- 30 g / 2 tbsp+ unsalted butter
- 1/2 cup / 125 ml milk, any fat %
- 1 cup frozen peas
- 4 hard boiled eggs, quartered (optional)
- 30 g / 2 tbsp butter, melted
- 1/4 cup / 15 g grated parmesan cheese (optional)
- Finely chopped parsley, for garnish (optional)
Instructions
- Step 1: Push a clove into the skin of each quartered onion. Place the onions in a pot or large skillet, add the milk, and set the stove to medium-high heat.
- Step 2: When the milk is barely simmering, add both the smoked and raw fish. It’s okay if the fish isn’t entirely covered as you can turn or move the pieces.
- Step 3: Poach the fish gently for 7 minutes. Then use a slotted spoon to transfer the fish into a medium baking dish, flaking it into chunks with forks and removing any bones.
- Step 4: Remove the onions and cloves from the milk with the slotted spoon and discard them. Reserve the milk for the sauce.
- Step 5: Preheat the oven to 180°C / 350°F. Meanwhile, bring water to a boil for the potatoes.
- Step 6: To make the sauce, melt 50 g butter in a large deep skillet or pot over medium-high heat. Add the finely chopped onion and minced garlic, cooking for 1 minute.
- Step 7: Add the chopped celery and carrot, cooking for about 5 minutes until the carrot softens.
- Step 8: Reduce heat to medium-low and stir in the flour. The mixture will look gluey. Gradually add half the reserved milk while stirring to avoid lumps.
- Step 9: Once the mixture thickens, add the remaining milk and stir continuously. Increase heat to medium and continue stirring until the sauce thickens to the consistency of honey—about 3 minutes.
- Step 10: Remove from heat and stir in the tarragon and parsley if using. Season with salt and pepper to taste.
- Step 11: Scatter the frozen peas over the flaked fish in the baking dish, then gently pour the sauce over. Stir lightly to combine without breaking the fish.
- Step 12: Arrange the quartered hard-boiled eggs evenly across the top of the pie.
- Step 13: Meanwhile, cook the potatoes in boiling water for about 15 minutes or until tender. Drain and mash them with butter, milk, salt, and pepper until creamy. Add more milk if needed.
- Step 14: While still warm, dollop and spread the mashed potatoes over the fish mixture. Use a fork to create ridges on the surface to help form a golden crust.
- Step 15: Drizzle melted butter over the top and sprinkle with grated parmesan cheese if using.
- Step 16: Bake the pie in the preheated oven for 35 minutes, until the top is deep golden brown.
- Step 17: Let the pie stand for 5 minutes before serving. Garnish with chopped parsley if desired.
Tips & Variations
- Use a mix of smoked and fresh fish to create depth of flavor and texture.
- Add a handful of cooked spinach or leeks for extra vegetables.
- For a gluten-free version, substitute plain flour with a gluten-free flour blend.
- If you prefer a richer sauce, use full-fat milk or add a splash of cream.
- Try rosemary or dill instead of tarragon for a different herb note.
Storage
Store leftover fish pie covered in the refrigerator for up to 3 days. Reheat gently in the oven at 160°C / 320°F until warmed through to keep the topping crispy. Avoid microwaving to prevent the sauce from separating.
How to Serve

Serve this delicious recipe with your favorite sides.
FAQs
Can I use other types of fish?
Yes, feel free to use any white fish like cod, haddock, or hake for the fresh fish. Smoked mackerel or smoked haddock adds great flavor for the smoked portion.
Is it okay to make the pie ahead of time?
Absolutely. You can prepare the pie up to the point of baking, cover it, and refrigerate for up to 24 hours. When ready, bake the pie as directed, adding a few extra minutes if necessary.
Print
Creamy Fish Pie with Peas, Eggs, and Parmesan Recipe
- Total Time: 1 hour 15 minutes
- Yield: 6 servings 1x
Description
This traditional Fish Pie features a comforting combination of smoked and unsmoked fish poached in milk, layered with a creamy herb-infused white sauce, sweet peas, and hard-boiled eggs, all topped with fluffy mashed potatoes and baked to golden perfection. It’s a satisfying, wholesome dish perfect for family dinners, delivering rich flavors and hearty textures in a classic British favorite.
Ingredients
Fish and Milk Poaching
- 400 g / 14 oz smoked fish of choice
- 400 g / 14 oz raw unsmoked fish of choice (Perch recommended)
- 3 cups / 750 ml milk (low fat or full fat)
- 1 brown onion, quartered
- 4 cloves (optional)
Sauce
- 50 g / 3 tbsp unsalted butter
- 2 garlic cloves, minced
- 1/2 small onion, finely chopped
- 1 small carrot, finely chopped
- 1 small celery stick, finely chopped
- 1/3 cup / 50 g plain flour (all purpose flour, gluten free substitute optional)
- 1 tbsp fresh tarragon, finely chopped (optional)
- 2 tbsp parsley, finely chopped
- Salt and pepper, to taste
Mashed Potato Topping
- 750 g / 1.5 lb floury potatoes, peeled and cut into 2.5 cm / 1″ pieces
- 30 g / 2 tbsp+ unsalted butter
- 1/2 cup / 125 ml milk, any fat percentage
- Salt and pepper, to taste
Additional Ingredients
- 1 cup frozen peas
- 4 hard boiled eggs, quartered (optional)
- 30 g / 2 tbsp butter, melted
- 1/4 cup / 15 g grated parmesan cheese (optional)
- Finely chopped parsley, for garnish (optional)
Instructions
- Poach the Fish: Push a clove into the skin of each quartered onion. Place the onion along with cloves in a pot or large skillet, then add the milk. Heat over medium-high until the milk just starts to simmer. Add the smoked and unsmoked fish; it’s fine if the fish isn’t fully covered, gently turn it occasionally. Poach for 7 minutes until the fish is cooked through.
- Transfer Fish: Use a slotted spoon to carefully lift the fish from the milk and place it into a medium baking dish. Use forks to flake into chunks, removing any bones found. Remove the onion and cloves from the milk and discard, but reserve the milk for the sauce.
- Prepare the Sauce: Preheat oven to 180°C (350°F). In a large skillet or pot, melt butter over medium-high heat. Add half a small finely chopped onion and minced garlic cloves, cooking for 1 minute. Add the finely chopped carrot and celery stick; cook for 5 minutes until the carrot softens.
- Make the Roux and Sauce: Reduce heat to medium-low. Stir in the flour to coat vegetables, forming a gluey paste. Gradually add half the reserved milk while stirring constantly until smooth and thickening. Add the remaining milk, keep stirring, and increase heat to medium. Cook and stir until the sauce thickens to a consistency like honey, approximately 3 minutes. Remove from heat and stir in fresh tarragon and parsley. Season with salt and pepper to taste.
- Combine Filling: Scatter frozen peas over the flaked fish in the baking dish. Pour the thickened sauce over the fish and peas, gently folding through to combine without breaking the fish apart. Smooth the top of the filling evenly, then nestle the quartered hard boiled eggs evenly across the surface if using.
- Cook Potatoes: While making the sauce, bring a large pot of water to a boil. Add the peeled and chopped floury potatoes, boiling for 15 minutes or until tender. Drain and return to the pot. Add butter, milk, salt, and pepper to the potatoes and mash until creamy and smooth, adding more milk if needed for spreadability.
- Top the Pie: Immediately dollop spoonfuls of mashed potato over the fish filling. Spread gently but thoroughly to cover the filling, then use a fork to create ridges or squiggles on the surface for extra crispness when baked.
- Bake the Pie: Drizzle the surface with melted butter and sprinkle grated parmesan cheese evenly on top if desired. Bake in the preheated oven for 35 minutes or until the mashed potato topping is deep golden and crispy.
- Rest and Serve: Allow the pie to stand for 5 minutes after baking. Garnish with finely chopped parsley if preferred. Serve warm as a hearty and delicious main dish.
Notes
- Note 1: You can use any smoked fish you like, such as smoked haddock, salmon, or cod.
- Note 2: The recipe uses Perch as unsmoked fish, but other white fish like cod, haddock, or pollock work well.
- Note 3: Piercing the onion with cloves infuses gentle flavor into the poaching milk.
- Note 4: Cloves are optional, but add a subtle aromatic touch to the milk.
- Note 5: Floury potatoes like King Edward or Russet are best for fluffy mash topping.
- Note 6: Hard boiled eggs provide added texture and flavor in the pie filling.
- Note 7: Thickening the sauce properly is crucial to avoid a runny pie; it should coat the back of a spoon like honey.
- Note 8: Flaking the fish carefully prevents it from turning mushy when mixed into the sauce.
- Note 11: For gluten-free version, substitute all-purpose flour with a gluten-free flour blend.
- Make Ahead & Reheating: The pie can be assembled earlier, refrigerated uncovered, then baked when ready. Leftovers reheat well in the oven at 180°C (350°F) until heated through, about 15-20 minutes.
- Prep Time: 25 minutes
- Cook Time: 50 minutes
- Category: Main Course
- Method: Baking
- Cuisine: British
Keywords: fish pie, traditional British recipe, smoked fish, fish pie with mashed potato, creamy fish casserole

