Whole30 Fish Pie
Sep 17, 2020, Updated Mar 17, 2025
Jump to RecipeThis post may contain affiliate links. Please see our disclosure policy.

When we first went into quarantine back in March, I stuffed my freezer full of long-lasting frozen vegetables and a variety of wild-caught fish.
That backstock hasn’t been called upon much, since I’ve been fortunate enough to continue getting a fresh produce box and have continued to have access to many seasonal, fresh ingredients. As I began planning my September Whole30, I decided to use up some of those frozen staples to make room for replacements and prepare for the winter months.
This Whole30 Fish Pie was completely inspired by a recipe I saw Jamie Oliver create on his quarantine-focused cooking show, Keep Cooking and Carry On. If you haven’t yet seen it, I highly recommend checking it out. Each episode has recipes that are easily adaptable, call upon ingredients you can almost always get and have plenty of substitution suggestions.
In this case, I took the recipe for Jamie’s Sweet Pea Fish Pie and made some adjustments and substitutions to make it Whole30-friendly and fit my need to clean out some things from the freezer. It turned out to be super tasty, and it makes so much extra for easy, accidental meal prep. Trust me, it’s even tastier on the second day.

Whole30 Fish Pie (Inspired by Jamie Oliver)
Ingredients
- 4 medium russet potatoes
- 2 cups frozen peas
- ½ cup vegetable broth
- 1½ pounds frozen cod
- 1 can coconut milk, almost 2 cups
- 1 large onion, diced
- 3 carrots, peeled and diced
- 1½ cups frozen spinach
- ¼ cup cassava flour
- 1 teaspoons dry mustard
- ½ lemon
- Kosher salt
- Cracked black pepper
- Olive oil
- Ghee
Instructions
- Preheat oven to 350 degrees F.
- Peel potatoes and cut into large, equal-sized chunks. Add to a medium saucepan with water and a heavy pinch of salt. Bring to a boil and cook for about 15 minutes, adding 1 cup of the frozen peas about 2 to 3 minutes before the potatoes are cooked.
- Drain potatoes, and return to the pan with 2 tablespoons ghee and ½ cup vegetable broth. Season with more salt and cracked black pepper, mash and set aside.
- While the potatoes are boiling, add the can of coconut milk to another pan and bring to a summer. Once simmering, add frozen cod filets. (Note: You can substitute a mix of whatever fish you’d like.) Bring fish back to a simmer for about 10 minutes, then remove cooked filets with a slotted spoon and set aside. Remove coconut milk from heat, reserving for gravy.
- Heat 2 tablespoons olive oil in a 3.5-quart, oven-safe pan. Add diced onion and carrot and cook for about 10 minutes, until onions are translucent but not yet browned. Add cassava flour and stir, cooking for about 3 minutes over medium heat.
- Pour reserved coconut milk, about ½ cup at a time, into the pan. Stir until a gravy consistency is formed. Note: You might not need all of the milk. Add in frozen spinach and 1 cup frozen peas. Cook until thawed.
- Season with dry mustard, kosher salt and pepper. Flake in cooked cod, breaking up, squeeze in juice of ½ a lemon and stir to evenly distribute everything.
- Spoon mashed potato and pea mixture over the top, smoothing out with the back of a fork to cover the entire surface of the pan.
- Place pan in the oven and bake for 30 minutes, or until crispy bits start forming on the mashed potato topping. Serve.
