Skip to content
Free Trial
  1. Home
  2. Blog
  3. Recipes
  4. Main Dishes

Keto Fish Pie

  • Ready in 1h 15m
  • 8.3 g net carbs
  • 616 kcal
  • Serves 6
Jump to recipe ↓

This post may contain affiliate links, see our disclaimer.

Keto Fish Pie (low-carb, gluten-free, pescatarian)

This Keto Fish Pie is my take on a classic British comfort food, inspired by BBC Good Food’s amazing recipe. I’ve made a few tweaks to keep it keto-friendly, replacing the usual potato topping with a creamy cauliflower mash and swapping the flour-thickened sauce for one made with heavy whipping cream and plenty of cheddar cheese. The result? A rich, satisfying fish pie that’s low in carbs but full of flavor. It’s a fantastic way to enjoy a hearty meal while staying on track with your gluten-free, keto lifestyle!

Why This Recipe Is So Good

  • Low-Carb Classic: A keto-friendly twist on the traditional British fish pie.
  • Creamy & Cheesy: The cauliflower mash and cheddar sauce make it rich and comforting.
  • High-Protein Boost: Includes hard-boiled eggs for extra protein and flavor.
  • Nutrient-Rich: Loaded with omega-3 fatty acids, magnesium, and potassium.
  • Versatile: Works great with different types of fish, so you can mix and match.

Recipe Ingredients & Swaps

The key to this fish pie is the simple ingredients and easy swaps to keep it keto-friendly.

  • Cauliflower: Used instead of potatoes for the mash. You can swap it with celeriac or rutabaga for a different low-carb option. You could even add a bit of pumpkin or butternut squash for a fall-inspired twist.
  • Fish Fillets: A mix of haddock, cod, salmon, and mackerel gives a nice balance of flavors. Feel free to use any firm white fish or even shrimp.
  • Hard-Boiled Eggs: Add a protein boost and extra flavor. You can skip them if preferred, but they really elevate the dish.
  • Red Onion: Adds a touch of sweetness; you can swap it with yellow onion or shallots.
  • Heavy Whipping Cream: Creates a rich sauce without needing flour. For dairy-free, use coconut cream.
  • Cheddar Cheese: Thickens the sauce and adds creaminess. Swap with Gruyère, Parmesan, Fontina, or simply use cream cheese or soft goat's cheese. Part of the cheese is used for topping so for that you can use almost any cheese apart from soft cheese types. Keep in mind that shredded mozzarella will only work in the topping but not in the sauce as it's too stringy. For a dairy-free option, skip the cheese.
  • Butter or Ghee: Enhances the mash's flavor. Extra virgin olive oil is a good dairy-free alternative.
  • Spices & Seasoning: Nutmeg, bay leaves, cloves, and Dijon mustard bring depth to the sauce, while chives and parsley add freshness to the whole dish. Adjust to your taste or leave out what you don't like.

Tips for Making the Perfect Keto Fish Pie

Making this fish pie is simple, but a few tips can help ensure it's just right:

  • Don’t Overcook the Cauliflower: Steam it until tender, not mushy, to avoid a watery mash. Once cooked, make sure to remove the lid to let the steam escape.
  • Use Fresh Fish: Fresh, good-quality fish will give you the best flavor and texture. Alternatively, use frozen and thawed fish.
  • Let the Sauce Thicken: Allow the cream and cheese mixture to simmer until it reaches a thick, creamy consistency before adding to the pie.
  • Cool Slightly Before Serving: Let the fish pie sit for about 10-15 minutes after baking; this helps the sauce thicken and set.
  • Season Generously: Taste as you go, and adjust the salt, pepper, and mustard to your liking.
  • Create a Crispy Topping: Use the back of a fork to create a textured pattern on the cauliflower mash, which helps it brown nicely.

Storage & Reheating

Let the fish pie cool completely before storing it in an airtight container in the refrigerator, where it will keep for up to 5 days. If you want to freeze it, you can do so for up to 3 months by wrapping individual portions tightly in plastic wrap and then in foil or placing them in freezer-safe containers.

When reheating, it's best to use the oven at 350°F (175°C) for about 15-20 minutes until warmed through. If you prefer using a microwave, heat it in short bursts to avoid drying it out.

Recipes You'll Love

If you enjoyed this Keto Fish Pie, here are a few other comforting low-carb dishes that I think you’ll love:

Step-by-step

  1. Prepare the cauliflower topping. Wash the cauliflower and cut into smaller florets. Place on a steaming rack inside a pot filled with about 2 inches of water. Bring to a boil and cook for about 10 minutes. Do not overcook. Place the cooked cauliflower into a blender add 1/4 cup of butter and 1/4 tsp salt. Process until smooth and creamy. When, set aside.

    Keto Fish Pie (low-carb, primal)
  2. Boil the eggs. Fill a small saucepan with water up to three quarters. Add a good pinch of salt. This will prevent the eggs from cracking. Bring to a boil. Using a spoon or hand, dip each egg in and out of the boiling water. Be careful not to get burnt. This will prevent the egg from cracking as the temperature change won't be so dramatic. To get the eggs hard-boiled, you need round 10 minutes. This timing works for large eggs. When done, remove from the heat and place in a bowl filled with cold water. I use an egg timer.) Peel the eggs and set aside.

    Keto Fish Pie (low-carb, primal)
  3. Poach the fish. Preheat the oven to 200 °C/ 400 °F (fan assisted), or 220 °C/ 425 °F (conventional). Remove the skin from the fillets (mackerel skin doesn't need to be removed) and dice into medium-large (about 2 inch/ 5 cm) pieces. Place the fish in a deep pan and pour in the cream and water.

    Keto Fish Pie (low-carb, primal)
  4. Peel and finely dice the onion and add to the pan together with the bay leaves and cloves. Add 1/4 tsp salt and bring to a boil and simmer on low for 8-10 minutes.

    Keto Fish Pie (low-carb, primal)
  5. Using a slotted spoon, transfer the fish into a baking dish deep enough to fit the fish and cauliflower topping.
    Prepare the sauce. Simmer the fish & cream sauce over a medium heat. Add the remaining 2 tablespoons of butter.

    Keto Fish Pie (low-carb, primal)
  6. Add nutmeg and Dijon mustard. Simmer for about 5 minutes until it starts to thicken. Turn off the heat. Discard the spices (bay leaves and whole cloves if used). Add 1 cup of shredded cheddar cheese and stir until melted and thickened.

    Keto Fish Pie (low-carb, primal)
  7. Layer the fish pie. Halve and quarter the eggs and place them in the baking dish on top of the cooked fish. Pour the cream & cheese sauce over the eggs and fish.

    Keto Fish Pie (low-carb, primal)
  8. Sprinkle with chopped chives or spring onion. Top with the cauliflower mash. Using the tines of a fork, create a decorative pattern on top.

    Keto Fish Pie (low-carb, primal)
  9. Top with the remaining 1/2 cup of shredded cheddar and place in the oven. Cook for 30-35 minutes or until the top is golden brown.

    Keto Fish Pie (low-carb, primal)
  10. When done, turn off the oven and place on a cooling rack for 15 minutes. The fish pie will have runny sauce when hot but will thicken as it cools down.

    Keto Fish Pie (low-carb, gluten-free, pescatarian)
  11. Serve hot or let it cool down and store in the fridge for up to 5 days.

    Keto Fish Pie (low-carb, gluten-free, pescatarian)
Keto Fish Pie

Recipe

Keto Fish Pie

★★★★★4.7 (651 ratings)

A traditional British recipe made low-carb and keto-friendly. This comfort food classic features smoked fish ...

Hands on
30m
Overall
1h 15m
Servings
6
8.3 g
Net carbs
37.5 g
Protein
46.5 g
Fat
616
kcal
PinRate

Ingredients makes 6 servings

  • Cauliflower Mash Topping:
  • Fish Base:

Instructions

  1. Prepare the cauliflower topping. Wash the cauliflower and cut into smaller florets. Place on a steaming rack inside a pot filled with about 2 inches of water. Bring to a boil and cook for about 10 minutes. Do not overcook. Place the cooked cauliflower into a blender add 1/4 cup of butter and 1/4 tsp salt. Process until smooth and creamy. When, set aside.

  2. Boil the eggs. Fill a small saucepan with water up to three quarters. Add a good pinch of salt. This will prevent the eggs from cracking. Bring to a boil. Using a spoon or hand, dip each egg in and out of the boiling water. Be careful not to get burnt. This will prevent the egg from cracking as the temperature change won't be so dramatic. To get the eggs hard-boiled, you need round 10 minutes. This timing works for large eggs. When done, remove from the heat and place in a bowl filled with cold water. I use an egg timer.) Peel the eggs and set aside.

  3. Poach the fish. Preheat the oven to 200 °C/ 400 °F (fan assisted), or 220 °C/ 425 °F (conventional). Remove the skin from the fillets (mackerel skin doesn't need to be removed) and dice into medium-large (about 2 inch/ 5 cm) pieces. Place the fish in a deep pan and pour in the cream and water.

  4. Peel and finely dice the onion and add to the pan together with the bay leaves and cloves. Add 1/4 tsp salt and bring to a boil and simmer on low for 8-10 minutes.

  5. Using a slotted spoon, transfer the fish into a baking dish deep enough to fit the fish and cauliflower topping.
    Prepare the sauce. Simmer the fish & cream sauce over a medium heat. Add the remaining 2 tablespoons of butter.

  6. Add nutmeg and Dijon mustard. Simmer for about 5 minutes until it starts to thicken. Turn off the heat. Discard the spices (bay leaves and whole cloves if used). Add 1 cup of shredded cheddar cheese and stir until melted and thickened.

  7. Layer the fish pie. Halve and quarter the eggs and place them in the baking dish on top of the cooked fish. Pour the cream & cheese sauce over the eggs and fish.

  8. Sprinkle with chopped chives or spring onion. Top with the cauliflower mash. Using the tines of a fork, create a decorative pattern on top.

  9. Top with the remaining 1/2 cup of shredded cheddar and place in the oven. Cook for 30-35 minutes or until the top is golden brown.

  10. When done, turn off the oven and place on a cooling rack for 15 minutes. The fish pie will have runny sauce when hot but will thicken as it cools down.

  11. Serve hot or let it cool down and store in the fridge for up to 5 days.

Nutrition per serving, about 340 g/ 12 oz

Carbs 6%Protein 25%Fat 69% of calories

Net carbs
8.3 g
Total carbs
12 g
Fiber
3.7 g
Sugars
5.4 g
Protein
37.5 g
Fat
46.5 g
Saturated fat
24.9 g
Calories
616 kcal
Sodium
763 mg · 33.2% RDA
Magnesium
93 mg · 23.4% RDA
Potassium
1,123 mg · 56.1% EMR
Nutrition by ingredient
Per about 340 g/ 12 ozNet carbsProteinFatkcal
Cauliflower, fresh4.9 g3.2 g0.5 g42
Butter, unsalted, grass-fed0 g0.1 g11.5 g102
Salt, pink Himalayan rock salt0 g0 g0 g0
Egg, whole, fresh, raw (free-range or organic eggs)0.2 g4.2 g3.2 g48
Fish, cod, Atlantic, raw0 g8.9 g0.3 g41
Salmon, raw0 g7.9 g2.2 g54
Mackerel, fresh0 g5.6 g4.2 g62
Onion, red, fresh1.1 g0.2 g0 g7
Cloves, spices0 g0 g0 g0
Cream, heavy whipping, pouring, full-fat (30-40% fat)1 g0.8 g15.2 g146
Water, still0 g0 g0 g0
Dijon mustard0 g0 g0 g1
Nutmeg, spices0 g0 g0 g0
Cheddar cheese0.9 g6.5 g9.4 g114
Chives, fresh0 g0.1 g0 g1
Pepper, black, spices0 g0 g0 g0
Total8.3 g37.5 g46.5 g616

Serving size about 340 g/ 12 oz

  • Gluten free
  • Nut free
  • Pork free
  • Avocado free
  • Coconut free
  • Shellfish free
  • Beef free
  • Pescatarian

Comments & ratings (47)

4.7651 ratings
  • 5 ★524
  • 4 ★82
  • 3 ★14
  • 2 ★15
  • 1 ★16

Leave a comment

Made this? Rate it

Comments appear after we've read them.

Comment received

  1. Sharon★★★★★

    This fish pie was out of this world! I've always steered away from cooking fish as I think it comes out hard and overcooked. Not with this recipe though. Every piece was purfect- even upon reheating after thawing. The cauliflower mash was the best I've ever tasted and some of the time I forgot that it wasn't potato. I would recommend any keto foodies to try this. Well done. 5 stars.

    1. Martina @ KetoDietAuthor

      Thank you so much for your kind words! ❤️

  2. Tonya★★★★★

    Really tasty recipe. I used smoked fish and poached it - and forgot to add chives, but it did not matter, it came out really flavorful. Thank you for sharing a simple yet delicious recipe!

    1. Martina @ KetoDietAuthor

      Thank you so much for your lovely feedback! 😊

  3. Auridas

    Hi, how did you come up with 6% for calories from carbs?
    Nutritional values (per serving, about 340 g/ 12 oz)
    Net carbs
    8.3 grams
    Calories from carbs 6%, protein 25%, fat 69%
    My calculations: 8.3 * 4 / 340 =~9.76%
    Either way, keto is at or below 5% net carbs, so this definitely isn't keto.

    1. Martina @ KetoDietAuthor

      Hi Auridas, here you go:
      8.3 g net carbs *4 = 33.2 calories from carbs
      33.2/616 kcal * 100 = <6% (calories from carbs divided by total calories).
      The 340 refers to the weight of the serving size - that is not what you should be using in your calculation.
      As for the non-keto point, this is what I call the "keto police" comments. With all due respect, I've been doing this for over a decade and I'm more than familiar with the basics.
      First of all, are we really worried about 1% difference? Even if it were true that keto is defined by 5% calories from carbs, the human body is not a computer. It would be sad to get fixated on something so insignificant.
      More importantly, these percentages are not meant to be used precisely. They are merely meant to help people understand the macronutrient composition of the keto diet, not be used to religiously follow them. What matters is absolute numbers (grams and calories, not percentages) which are different for each and every one of us: ketodietapp.com/Blog/page/KetoDiet-Buddy
      In fact, depending on your goal, your macros in terms of % may change significantly, especially when it comes to your protein and fat intake.
      Finally, there are no "keto foods" and what matters is always the overall macros. The keto diet is defined by the absence of carbohydrates, not by the presence of "keto foods". In practical terms this means we can have a few berries or some beef jerky and end up with a meal that does not fall in the recommended % but it is still perfectly suitable for the keto diet.

      1. Auridas

        Martina, thank you for the clarification. I have indeed mistakenly taken 340g instead of 616 kcal, my bad. 5.3% it is 😊
        And I have to argue that it is not the absolute numbers, but actually the percentages that matter. As an example, I had one blogger tell me that the meal was keto just because it had only 4g of net carbs in it, but the whole meal was just ~100 kcal, so that was ~16%, and she was very much into believing that if the meal(serving) had less than 5g net carbs (regardless of its total calories), it was keto 😊)
        Percentages don't change if you multiply the serving sizes, while the absolute numbers do, which is what she could not grasp I guess. Cheers!

        1. Martina @ KetoDietAuthor

          I think we can only agree to disagree 😊 For something to be "keto" it doesn't mean it has to fall into any specific macronutrient percentages. Percentages are irrelevant if that's the only way you decide whether a meal is or is not "keto". Both matter but absolute numbers matter more.
          Let's look at this case: If someone eats 3,000 kcal per day (not too unusual for an active male), with 5% calories from carbs they'll end up with almost 40 g carbs per day which isn't the ideal level for most people on a keto diet, yet it's 5%. Percentages are guides to help us understand what keto looks like but what always matters most is absolute numbers.
          You may want to read a book from Dr Volek and Phinney. It explains this quite well. Or go to https://charliefoundation.org which is a website that helps kids with epilepsy by using therapeutic ketosis. Even then what matters is the overall intake per day, not the percentages of every single meal or snack. That is why these are also suitable for a keto diet: Sugar-Free Strawberry & Lime Jellies

  4. Val★★★★★

    I made the Keto fish pie tonight. I only had white fish and the pie tasted superb. I can't wait to cook the it again and will also use smoked fish and salmon. Thank you.

    1. Martina @ KetoDietAuthor

      Thank you so much Val, I'm glad you enjoyed!

  5. Carol Gladwin

    Hi, going to make this, really interesting reading the comments, got lots of ideas....
    Can you freeze it?

    1. Martina @ KetoDietAuthor

      You can! I made a double batch the other day and it freezes fine. Make sure you let it cool down to room temperature and then place in the fridge overnight to fully set before freezing.

  6. Sue★★★★★

    Hi,
    Have just made this tonight, absolutely delicious, thank you. Xx

    1. Martina @ KetoDietAuthor

      Thank you Sue, glad you enjoyed! ❤️

  7. Susan prescott★★★★★

    Thank you for this fish pie recipe, I have just made it and it was scrumptious. Replaced Mackrel and salmon with prawns though. Amazing couldn’t tell the mash was cauliflower the whole dish was so full of flavour 👍

    1. Martina @ KetoDietAuthor

      Thank you so much Susan, I'm glad you enjoyed!

  8. Amanda★★★★★

    Absolutely delicious

    1. Martina @ KetoDietAuthor

      Thank you! ❤️

  9. Tony Bloomfield

    I've been making Fish pies now for a long time now and I've only just got around to thinking of making a good wholesome keto one. Looking at this recipe and the ingredients I can't wait as it sounds absolutely delish. The egg part makes me think of my ex slovakian girlfriend and her recipes with eggs especially her Christmas celebration salad. Not only going to be wholesome yum but for me at least a little reminder too lol
    Tony

    1. Martina @ KetoDietAuthor

      Thank you so much, I hope you enjoy!

  10. Anelya★★★★★

    I made it a few days ago and I must say its honest comfort food.
    Read reviews about the soupy filling, and I use creme frache (125 ml) and heavy whipping cream (125ml), added one egg yolk, and mozzarella cheese too - it still came out too runny even after letting it sit for a bit. I think next time i will just use cream frache.
    I kept the rest of the ingredients to the point. Just topped the cauliflower with more cheese and broiled it for 5 minutes to get a nice brown crust.
    It was eaten by 3 adults in a matter of one evening. Everyone was full next day until 1pm.
    I liked the recipe, If I decide to make it again I will add browned mushrooms into the cauliflower mix before baking it.

    1. Martina @ KetoDietAuthor

      Thank you for your kind words, Anelya. I agree, using just creme fraiche, or even adding more egg yolks will help make it thicker. I use egg yolks to thicken sauces & gravies all the time. It splits sometimes but if it does I just blend it for a few seconds.

  11. Roni

    Not really into fish, yet it surprised me how good It us - Delicious!

    1. Martina @ KetoDiet

      Thank you Roni!

  12. Miriam Skipworth

    Me again😊
    Also no mention of when or where to put the dijon mustard or 1/2 tsp salt. I’m guessing the salt wasn’t the “pinch” for boiling eggs?
    Re my previous comment I was wrong about the 2tbsp of butter, it is in the ingredient list

  13. Miriam Skipworth

    Thanks for your recipe I’m making it for dinner.
    Just a few points about your recipe copy:
    You don’t mention in the ingredients the 2tbsp butter needed for the sauce. Also the spring onion option.
    I the method you don’t mention adding Bay leaves or cloves to the fish sauce, only discarding them.
    I also found some anomalies in your beef stock recipe: peeling onions but also leaving the skin on.
    Thanks again for your willingness to post these recipes I’m not intending criticism just giving you a heads-up about the text. I’m available to read through more recipes if you wish?

    1. Martina @ KetoDiet

      Thank you Miriam, I appreciate that and will clarify any discrepancies! ❤ I checked and these found (I want to make sure we are talking about the same recipe - I may be going crazy 😊
      - 2 tbsp butter is mentioned in step 5
      - bay leaves in step 4
      - the mention of the Dijon mustard and salt were indeed missing!
      As for the bone broth, the "peel" refers to the garlic cloves - is that what you mean? Keto Bone Broth
      Thank you!

  14. Janice

    Dumb question, but have you ever subbed canned tuna for the fish? I used to make a tuna casserole in my pre lc days.

    1. Martina @ KetoDietAuthor

      I have not tried that. If you can find one that is packed in chunks rather than crumbled, it might be fine 😊

  15. Vicki★★★★★

    Great recipe. Could I use ricotta instead of cream in this? I have some left over in next week's meal plan that I need to find a use for! Hate waste! Thanks.

    1. Martina @ KetoDietAuthor

      Yes, I think that should work and will make the base more creamy/ thicker.

  16. KalynsKitchen

    I haven't cooked or eaten anything like this, but I am intrigued! I bet it's delicious.

    1. Martina @ KetoDietAuthor

      Thank you Kalyn! 😊

  17. Sas★★★★★

    Thanks SO much for posting this, it was delicious! I substituted finely chopped spring onions for red ones and added chopped parsley to the sauce instead of using chives.
    I agreed with a previous poster that the sauce looked a little thin, however, I followed your advice and used 2 egg yolks and it thickened nicely.
    I used 3 boiled eggs as I felt that was enough, but overall.....YUM!!!
    Thanks again!

    1. Martina @ KetoDietAuthor

      Awesome, I'm glad you liked it! 😊

  18. sabirah★★★★★

    This is absolutely to die for . It is incredible. Thank you so much for sharing this.x

    1. Martina @ KetoDietAuthor

      Thank you Sabirah! 😊

  19. Chookie★★★☆☆

    Tasted lovely but was very sloppy, followed the recipe exactly but had to add some flour/butter roux to the sauce as it didn't thicken. The cauliflower topping didn't fair well either...I ate mine but my 15 year old daughter couldn't do the texture 😞

    1. Martina @ KetoDietAuthor

      That might be just after cooking? The sauce gets thicker as it cools down and the juices set/ thicken. Alternatively, in step 5 you could thicken the sauce with 1-2 egg yolks (instead of flour) mixed in some water or stock.

  20. Ev★★★★★

    Wow. This recipe was absolutely divine. My potato loving boyfriend didn't at all realise it was topped with cauliflower and asked if we can have this meal once a week. It was the vwry forst fish pie I ever made and to have my porato loving and fish hating boyfriend enjoy it so much was an absolute delight. Great job and huge thanks from us 👌

    1. Martina @ KetoDietAuthor

      Thank you Ev, I'm glad you both liked it! 😊

My go-to recipes for stress-free meal prep

⭐️ FREE EMAIL BONUS ⭐️
Easy, filling, high-protein meals I make on repeat to save time & keep it simple.