Classic, creamy, mashed potato topped fish pie, with whitefish, combined with seafood or shrimp, all in a creamy sauce. A touch of cheese is added to the sauce and topping for extra flavour.

Fish pie in baking dish with spoon

Fish pie is classic comfort food and a fabulous way to enjoy fish and seafood. From the chunks of milk-poached fish, to the creamy sauce, to the mashed potato topping, there are wonderful layers of texture and flavour to enjoy. I love that I can assemble Fish Pie in the morning and just pop it in the oven to bake at dinnertime!

Ingredients and substitutions

Fish – I like to use a skinless, boneless whitefish as the base of my fish pie. I’ve used Haddock here, but Halibut, Cod or Sole are also nice. If you are a fan of smoked fish, feel free to add some to the mix. Likewise, if you have some salmon on hand, it is a great addition, as well. In all cases, start with thoroughly thawed frozen fish to avoid a watery pie or better yet, start with fresh fish if you can.

Seafood – I’ve added a frozen shrimp and scallop mix to this pie, that I thawed. Often I’ll just use shrimp. The seafood can be cooked or raw, but I feel like raw stands up a little better with the longer bake. You can omit the additional seafood and just double up the fish, if you prefer.

Cheese – I have added a bit of Gruyere cheese to the white sauce and on top of the mashed potatoes. You can omit if you don’t want cheese, or substitute an old white cheddar or something like Emmental.

Potatoes – I’ve used yellow-fleshed potatoes here for my mashed potatoes (Yukon Gold), but baking potatoes such as Russet work well, too. Use what you normally enjoy for mashed potatoes.

Milk and Cream – you’ll need milk for the white sauce. I recommend whole (3%) milk, though 2% milk will also work. For the mashed potatoes, you can use cream or milk, depending on how rich you’d like the potatoes to be.

Step-by-step photos

adding fish to skillet
removing poached fish from milk mixture
  1. Add the milk, cream and onion to a large skillet. Add the bay leaf, salt and pepper, then slide the fish into the milk mixture.
  2. When the fish has cooked, remove from the milk mixture to the baking dish.
adding flour to melted butter in skillet
adding milk to butter and flour mixture
  1. In the same skillet, melt the butter, then add the flour. Cook the butter and flour mixture for about 1 minute.
  2. Add the milk gradually to the butter/flour mixture and stir to combine. Simmer the sauce for about 5 minutes.
adding cheese to white sauce mixture
adding shrimps and scallops to white sauce
  1. When the sauce has thickened, remove from heat and stir in the cheese until melted.
  2. Add the shrimp and scallops (or just shrimp, if you like).
filling in baking dish
finished mashed potatoes
  1. Pour the sauce over the cooked fish chunks, cover and refrigerate for 1 hour.
  2. Make the mashed potatoes as directed.
mashed potatoes in piping bag ready to pipe
finished fish pie ready for the oven
  1. If piping the potatoes, fill a piping bag with a large star tip and pipe on top of the chilled filling. (You don’t need to pipe the potatoes. Spreading over the top is just fine.)
  2. Top the potatoes with additional shredded cheese and paprika and bake.

Recipe video

Recipe tips

  • Seasoning is so important with fish pie, so be sure to season as you go and most importantly, taste the sauce at the end of cooking and add additional salt and pepper, as needed. If the sauce tastes flat or you find yourself thinking “it needs something”, what it needs is more salt!
  • The purpose of chilling the fish pie before adding the mashed potatoes is two-fold. First, it firms up the filling so the mashed potatoes won’t sink into the pie. Secondly, it breaks up the process of making Fish Pie into two segments, making the filling first, then making the mashed potatoes while the fish pie chills. I have found this the best way to go.
  • All that said, the chilling time isn’t strictly required, but you’ll need to be making the mashed potatoes at the same time as the filling, so that the warm filling won’t sit around while you make the potatoes. Both the filling and the potatoes should be done and ready at the same time, then right into the oven.
  • Be sure to keep your mashed potatoes a little firmer so they aren’t runny. Add the cream to the potatoes a bit at a time, to avoid overdoing it.
  • Be sure to place your Fish Pie on top of a rimmed baking sheet when baking, as it can and probably will bubble over as it bakes.
  • Avoid letting the Fish Pie sit out for too long. Get any leftovers back in the fridge as quickly and wrap well.

What to serve with Fish Pie

A classic side for Fish pie would be green peas, minted if you enjoy that. Any green vegetable works nicely, as does corn or carrots. I also enjoy fish pie with a simple side salad.


  • Add some hard-boiled eggs to the mix. Add 3 or 4 hard-boiled eggs, halved or quartered. *Note: Hard-boiled eggs don’t freeze well, so omit if you plan to freeze your pie.
  • Omit the cheese or change it up. Aged cheddar is also nice in this pie.
  • Change up the seafood to your liking or what’s available. Simply stick to the same rough weight of seafood.
  • Omit the seafood and stick with all fish. Simply replace the seafood with more fish. *Note: if planning to freeze the pie, all fish may be the way to go, as it isn’t recommended that you re-freeze shrimp and scallops that were previously frozen.
  • Add some buttered panko on top of the mashed potatoes for a bit of crisp or simply drizzle some melted butter over the mashed potatoes.
  • For a gluten-free fish pie, replace the flour for the sauce with a 1-for-1 gluten-free flour. If necessary thicken the sauce more at the end of cooking with a 50/50 mixture of cornstarch and cold water, adding to the sauce until thickened to the desired level.
Fish pie in baking dish with spoon

Making ahead, storing and freezing

As mentioned above, Fish Pie is perfect for assembling in the morning, refrigerating and baking later in the day. I prefer to bake it off the same day it’s assembled, but it will keep in the fridge for up to 24 hours before baking.

Leftovers will keep well in the fridge for 2 days after baking.

You can freeze Fish pie, but if you plan to freeze either the baked or unbaked Fish pie, omit the shrimp and scallops and hard-boiled eggs, as it isn’t recommended that they be refrozen.

You can freeze assembled, unbaked fish pie (without shrimp or scallops) well-wrapped for up to 3 months. You can also freeze left-over baked fish pie (without shrimp or scallops). Thaw frozen Fish Pie in the refrigerator until thawed, then bake. Baking time might be slightly longer.

Fish pie in baking dish with spoon

Get the Recipe: Fish Pie

Classic, creamy, mashed potato topped fish pie, with white fish and seafood in a creamy sauce, with just a touch of cheese for flavour.
5 stars from 1 rating
Prep Time: 30 minutes
Cook Time: 30 minutes
Chilling Time:: 1 hour
Total Time: 2 hours
Yield: 6 servings


For the filling:

  • 1 3/4 cups (420 ml) whole milk, 3-3.5% b.f. recommended
  • 1 1/4 cups (300 ml) heavy whipping cream, 35% b.f.
  • 1/2 medium onion, quartered
  • 1 bay leaf
  • 14 oz (400 g) whitefish fillets, such as haddock, halibut, cod or other whitefish, skinless and boneless, regular or smoked or a mixture, thoroughly thawed *see Note 1
  • 4 Tablespoons (56 g) butter
  • 3 Tablespoons (25 g) all purpose flour
  • 10 oz (300 g) shrimp, or scallops or a mixture *see Note 2
  • 1/8 teaspoon nutmeg
  • Salt and freshly ground pepper
  • 1/3-1/2 cup (80 ml) Gruyere cheese, shredded *see Note 3

For the mashed potatoes:

  • 2 lbs. (900 g) yellow-fleshed potatoes, peeled and halved or quartered, if large *see Note 4
  • 2 Tablespoons (28 g) butter
  • 1-2 Tablespoons crème fraiche, or sour cream (optional)
  • 1/8 teaspoon paprika
  • Salt and freshly ground pepper
  • 2-3 Tablespoons heavy whipping cream (35% b.f.) or half and half cream (10%), or half and half, or as needed

For topping before baking:

  • 1/4 cup (60 ml) Gruyere cheese, shredded
  • paprika, for garnish


  • Top Tip! Seasoning is so important to ensure a fabulous Fish Pie! Be sure to season along the way and taste and adjust, as needed. If the Fish Pie tastes a little flat after baking, don't hesitate to season at the table, too.
  • In a large, deep skillet on the stovetop, add the milk, cream, onion and bay leaf. Season with some salt and freshly ground pepper. Add the fish fillets to the milk and turn on to medium heat. When the milk comes to a boil, reduce heat to medium-low and simmer for about 5 minutes.
  • Carefully remove the poached fish from the milk mixture to a 2.5-3 quart baking dish with a slotted spoon or a regular spoon without removing any of the milk mixture. Use a spoon to break the fish up into smaller pieces, if necessary. *My baking dish shown here is 9" round and 2 1/2" high. It was a snug fit :) Use any baking dish that allows the filling to be at least 1" lower than the top, to allow room for the mashed potatoes.
  • Using a strainer, strain the milk mixture into a bowl or large measuring cup, discarding the solids and reserving the milk. Set the milk aside.
  • In the same skillet used to poach the fish, melt the 4 Tablespoons of butter over medium heat. When melted, add the 3 Tablespoons of flour and cook, stirring, about 1 minute. Add about 1/2 of the reserved milk mixture to the pan and whisk until smooth, then add the remaining milk. Bring the sauce to a boil over medium heat, then reduce the heat to medium-low and simmer gently for 8-10 minutes.
  • Remove skillet from the heat and add the cheese, Stir until the cheese has melted, then add the shrimp and/or scallops, if using and the nutmeg. Take a moment to taste the sauce and add additional salt and pepper, as needed.
  • Pour the mixture over the cooked fish in the baking dish. Allow to stand just until the steam subsides a bit, then cover with plastic wrap and place in the refrigerator to chill for 1 hour, while you make the mashed potatoes.
  • Bring a large pot of water to a boil. Salt generously, then add the potatoes. Boil for 15-20 minutes or until tender when tested with a knife.
  • Preheat oven to 400F (regular bake setting/not fan assisted)
  • Drain the potatoes and place in a large bowl. Let stand to dry for about 5 minutes, then mash with a potato masher. Add the butter, creme fraiche, salt, pepper and paprika. Stir to combine. Add the cream a bit at a time, stirring in, until you have creamy and smooth, but still firm mashed potatoes. Add only as much cream as needed.
  • If piping the mashed potatoes, fill a piping bag and use a large star tip to pipe the potatoes on top of the chilled filling. Otherwise, spoon dollops of the potatoes on top of the chilled filling and spread evenly over-top. Use a fork to make ridge marks across the top of the potatoes.
  • Sprinkle the additional Gruyere cheese over-top of the potatoes and sprinkle with paprika. *At this point, you can wrap well and refrigerate to bake within 24 hours or freeze, really well wrapped, up to 3 months. I prefer to bake fish pie on the same day it was assembled.
  • Place the baking dish on top of a rimmed baking sheet to catch any bubble-overs.
  • Bake the fish pie in preheated oven for 30-40 minutes, or until the sauce is bubbly and the top is golden.
  • Remove from oven and let stand 5 minutes before serving. Serve with peas or another green vegetable or it's also nice with a side salad.
  • Promptly refrigerate any left-overs, well-wrapped, for 2 days.


Note 1: You can use any fish you have or enjoy, but whitefish is always a good choice. I used Haddock here, but Halibut and Cod are also good options, as is salmon. You can use regular or smoked fish or a mixture. Fresh fish is best, but frozen fish will work. Be sure to thaw frozen fish thoroughly and pat dry well with paper towel. Wet fish may make for a runny fish pie.
Note 2: I love to add shrimp and/or scallops to fish pie. You can use just shrimp, just scallops or a mixture. Note! If you plan to freeze the fish pie, avoid adding previously frozen shrimp or scallops, as it is not recommended to re-freeze them. If you’d rather not add seafood, add a similar weight of additional fish instead.
Note 3: I love the flavour of Gruyere cheese in fish pie, but other cheese, such as Emmental or a nice aged white cheddar would also work. You can also omit the cheese if you prefer.
Note 4: I generally use yellow-fleshed Yukon Gold potatoes, but baking potatoes, such as Russet, can also be used for mashed potatoes. Use whichever you prefer.
If you like hard boiled eggs in your fish pie, boil 3-4 eggs, quarter and add to the filling. Note! It is not recommended to freeze hard boiled eggs, so if you plan to freeze your fish pie, it is best to omit the eggs.
Cuisine: American, Canadian
Course: Main Course
Serving: 1serving, Calories: 569kcal, Carbohydrates: 35g, Protein: 22g, Fat: 38g, Saturated Fat: 24g, Polyunsaturated Fat: 2g, Monounsaturated Fat: 10g, Trans Fat: 0.5g, Cholesterol: 151mg, Sodium: 374mg, Potassium: 1019mg, Fiber: 4g, Sugar: 7g, Vitamin A: 1464IU, Vitamin C: 31mg, Calcium: 287mg, Iron: 2mg
Tried this recipe?Mention @seasonsandsuppers on Instagram or tag #seasonsandsuppers.