Desserts
This basic fish pie recipe delivers all the comfort of a classic British pub dish—creamy fish filling topped with a golden, crispy potato crown that crackles with every bite.
The secret lies in the layers: tender white fish simmered in a rich, herby cream sauce, then crowned with velvety mashed potatoes that bake to perfect golden-brown perfection. I’ve perfected this version to be foolproof for beginners, with optional twists like smoked haddock or vegan cheese for modern adaptations.
The beauty of this recipe is in its simplicity—just five core ingredients (plus pantry staples) come together to create a dish that’s both elegant and satisfying.
The fish filling cooks in under 20 minutes, while the mashed potatoes transform into a crispy, crackling topping that’s the star of the show. Whether you’re feeding a family or treating yourself, this pie is hearty enough for a winter supper but easy enough for a weeknight dinner.
What makes this fish pie truly special is that crispy potato crown—it’s the difference between a casserole and a showstopper. The key is baking the potatoes uncovered for the last 10 minutes, which ensures a golden, shatteringly crisp finish while keeping the filling warm and melty underneath.
The aroma alone will have everyone gathering at the table, and the first bite delivers that perfect balance of creamy, cheesy, and crispy textures.
Serve with a simple green salad or steamed vegetables to round out the meal. For extra richness, sprinkle with fresh parsley before serving. This recipe is designed to impress without stress—let’s get baking!
Ingredients for basic fish pie
Five core ingredients transform into a restaurant-worthy fish pie with crispy potato crown perfection.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, haddock, or pollock preferred |
| Russet Potatoes 🥔 | 2 lb | Yukon gold for creamier mash |
| Heavy Cream 🥛 | 1 cup | Full-fat for optimal richness |
| Sharp Cheddar Cheese 🧀 | 1 ½ cups | Shredded, aged variety preferred |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish and flavor |
| Butter 🧈 | ½ cup | Unsalted, for mashed potatoes |
| Milk 🥛 | ¼ cup | Whole milk for creamier texture |
| All-Purpose Flour 🌾 | 2 tbsp | For thickening cream sauce |
| Garlic Cloves 🧄 | 3 cloves | Minced, for aromatic depth |
| Yellow Onion 🧅 | 1 whole | Diced, for foundational flavor |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground for optimal heat |
| Dried Thyme 🌿 | ½ tsp | Or 1 tbsp fresh thyme leaves |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed, for brightness |
| Olive Oil 🫒 | 1 tbsp | For sautéing vegetables |
The white fish fillets are the foundation—opt for cod or haddock from the seafood counter for their delicate texture. Whole Foods Market or Trader Joe's carry high-quality options, often pre-cut for convenience. For the potatoes, Russets are ideal—they hold their shape during baking while developing that coveted crispy exterior. If using Yukon golds, expect a creamier mash but slightly less structural integrity in the crown. The sharp cheddar should be aged at least six months; Cabot or Point Reyes brands deliver the perfect balance of tang and melt. Fresh parsley isn't just garnish—it brightens the entire dish, so choose bunches with vibrant green leaves rather than wilted stems.
Substitutions should prioritize texture and flavor balance. Smoked haddock adds depth without altering the technique, while vegan cheese like Violife or Daiya works for dairy-free adaptations (though expect slightly less melt). For the cream sauce, half-and-half can replace heavy cream in a pinch, though the final product will be less luxurious. The all-purpose flour can be swapped for cornstarch at half the quantity for a gluten-free option, though the sauce may thicken differently. When selecting thyme, French or English varieties from Penzeys Spices offer superior flavor to generic grocery store blends. The lemon juice should be freshly squeezed—bottled versions lack the necessary acidity to properly brighten the fish.
Proper storage extends this pie's magic. The mashed potato topping can be prepped up to 2 days ahead and refrigerated, though it's best baked fresh for maximum crispiness. The fish filling assembles beautifully 1 day in advance and keeps in the refrigerator for 3 days. For longer storage, freeze both components separately for up to 3 months. When reheating, cover the pie with foil for 10 minutes to restore moisture, then uncover for the final 5 minutes to crisp the potato crown. The leftovers reheat wonderfully in a 350°F oven for 15-20 minutes, covered with foil, with an additional 5 minutes uncovered to restore crispness.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this trick—just boil the potatoes, mash them right in the pot, then stir in the fish and cream. No extra bowls, no extra mess, and honestly? That’s half the battle won.
- Creamy Cheese Hug: That sharp cheddar melted into the creamy sauce? It’s like a warm, salty blanket over flaky fish. I’ll be real: the first time I tasted it, I immediately texted my mom to make sure I wasn’t missing some fancy secret.
- Leftovers That Don’t Suck: Fish pie reheats like a dream—crispy top, creamy middle, no soggy bits. I make a double batch on Sundays because it’s the only meal I can eat for lunch and dinner without getting bored.
- Budget-Friendly Luxury: White fish is cheap, potatoes are cheap, and a block of cheddar stretches far. Yet somehow, it feels fancy—like you’re serving something special without breaking the bank. (Yes, even on a Tuesday night.)
Step-by-step instructions for crispy potato crown over melty cheese heaven
Here's the method to achieve a golden, crispy potato topping and perfectly creamy fish filling every time.
Prepare the Potato Topping for Maximum Crispiness
Preheat your oven to 400°F for the final baking step. Peel the 2 lb russet potatoes and cut them into ¼-inch thick slices—uniform thickness ensures even cooking. Spread them on a baking sheet in a single layer and bake for 15 minutes until they begin to soften slightly and develop a faint golden hue.
This partial baking step is crucial—it jumpstarts the starch conversion that creates that signature crispy texture. I like to flip the slices halfway through to ensure even browning. Remove them from the oven and set aside—we'll return to them later after building the filling.
Build the Creamy Fish Filling with Perfect Texture
In a large skillet, heat the 1 tablespoon olive oil over medium heat. Add the 1 whole yellow onion and 3 cloves garlic cloves, cooking until the onion becomes translucent and the garlic releases its aroma (5-6 minutes). This aromatic base forms the flavor foundation.
Add the 1.5 lb white fish fillets to the skillet, seasoning immediately with 1.5 teaspoons salt, 0.5 teaspoon black pepper, 0.5 teaspoon dried thyme, and 1 tablespoon lemon juice. Cook for 3-4 minutes per side until the fish is just opaque in the center—it will finish cooking in the oven. Remove the fish and set aside on a plate.
Create the Rich Cream Sauce for Binding
In the same skillet, reduce heat to medium-low and add 2 tablespoons all-purpose flour, stirring constantly for 1 minute to cook out the raw flour taste. Gradually whisk in the 1 cup heavy cream and 0.25 cup milk, stirring until the mixture thickens to a smooth, velvety consistency (3-4 minutes).
Return the cooked fish to the skillet and gently fold it into the sauce, coating each piece evenly. The sauce should cling to the fish, creating a cohesive filling. Remove from heat and stir in 1.5 cups sharp cheddar cheese until fully melted and smooth. This step ensures the cheese distributes evenly throughout the filling.
Assemble and Bake for Perfect Texture Contrast
Transfer the fish mixture to a greased 9x9-inch baking dish, spreading it evenly. Arrange the partially baked potato slices in a single layer over the filling, slightly overlapping them like shingles. This overlapping technique creates that iconic pie crust effect while ensuring maximum crispiness.
Return to the 400°F oven and bake for 25-30 minutes until the potato topping is deep golden brown and the filling bubbles around the edges. The contrast between the crispy potato crown and creamy filling is what makes this dish exceptional. Remove from the oven and let rest for 5 minutes before serving.
Garnish and Serve for Maximum Impact
Sprinkle the dish generously with 0.25 cup chopped fresh parsley just before serving. The parsley adds a fresh contrast to the rich flavors and makes the dish visually appealing. Serve immediately while the potato topping is at its crispiest and the filling remains warm and creamy.
Each bite should deliver that satisfying crunch from the potato crown followed by the rich, cheesy fish filling. The lemon juice brightens the dish, preventing it from becoming too heavy. For best results, serve with a simple green salad and crusty bread to soak up any extra sauce.
Pro Tips For Making Basic Fish Pie
- Parboil Potatoes Properly: Cut the russets into even ½-inch slices and boil them in salted water for exactly 3 minutes before adding to the pie—this guarantees they’ll finish tender without turning to mush. I learned this the hard way after sloppy, gluey potato layers in my first attempt.
- Salt the Fish Twice: Season the white fish fillets with salt before cooking, then again lightly after removing from the pan—this keeps them from drying out while ensuring every bite has flavor. (Yes, even if you’re impatient like me.)
- Don’t Overmix the Cream: Stir the heavy cream into the cheese just until combined—lumps are fine, but overworking it turns the topping into a paste instead of a creamy, melt-in-your-mouth layer. I skip this when I’m lazy, but the dish is noticeably better when I don’t.
- Bake Until Golden: Cover the pie with foil for the first 20 minutes, then uncover and crank the oven to 425°F for the last 10—this ensures the cheese browns beautifully and the top gets that crispy texture we all want. (Your future self will thank you.)
Perfect pairings for basic fish pie
Creamy Sauce Upgrades
Swap the basic cream sauce for a white wine reduction by deglazing the pan with ¼ cup dry white wine after cooking the onions. Reduce by half before adding the cream—this adds elegant depth.
For a spicy kick, stir in ½ teaspoon smoked paprika with the thyme while cooking the fish. 🌶️
Vegetable Add-Ins
Sauté 1 cup finely diced fennel with the onions for a bright, anise-like note that pairs beautifully with fish. Or try ½ cup frozen peas>—they’ll soften perfectly during baking and add a touch of sweetness. Both options keep the dish hearty without overpowering the fish.
Crispy Potato Variations
For extra crunch, sprinkle the potato slices with 1 tablespoon cornstarch> before the final bake. For a herbaceous twist, mix 1 teaspoon dried rosemary> into the mashed potatoes before spreading them over the filling. Both tricks elevate the classic potato crown.
Beverage Pairings
A crisp Sauvignon Blanc from New Zealand cuts through the richness with its citrus notes. For beer lovers, a Belgian witbier like Stella Artois offers a refreshing contrast to the creamy filling. Both pairings complement the dish’s bright lemon and herby flavors. 🍷
Side Dish Harmony
Serve with buttered green beans—their crisp-tender texture and slight bitterness balance the richness. For a lighter option, a simple arugula salad with lemon vinaigrette provides a peppery contrast. Both sides keep the meal fresh and balanced.
Modern Cheese Twists
Replace cheddar with Gruyère for a nutty depth or smoked Gouda for a bolder flavor. For a vegan option, use Violife Just Like Feta**—it melts beautifully and adds tang. Each cheese brings a unique character to the creamy filling. 🧀
Nutrition facts
Frequently asked questions
What's the secret to getting that perfect crispy potato topping?
Pre-bake the potato slices for 15 minutes at 400°F before assembling the pie, then bake uncovered for the final 10 minutes. The high heat caramelizes the starches, creating that signature crackly texture.
Can I use frozen fish instead of fresh?
Yes! Thaw frozen fish completely in the fridge overnight before cooking. For best results, choose previously frozen fillets labeled "sustainably caught" to maintain optimal texture. Never thaw at room temperature—this can make the fish mushy.
How do I make this recipe vegetarian?
Replace the fish with 1.5 lb firm tofu or chickpeas (drained and rinsed). For the creamy filling, use 1 cup cashew cream (blended soaked cashews) instead of heavy cream. Add 1 tsp nori flakes for umami depth if using tofu.
Why did my potato topping turn soggy instead of crispy?
This usually happens when the filling releases too much moisture during baking. Try these fixes: Pat the potato slices dry before assembling, reduce the milk in the cream sauce to ¼ cup, or bake at 425°F for 5 minutes longer. The key is proper moisture balance!
What's the best way to reheat leftovers?
Cover the pie with foil and reheat at 350°F for 15 minutes, then uncover for the final 5 minutes to restore crispiness. For microwave reheating, cover with a damp paper towel and heat for 1-2 minutes on medium power.