Desserts
Jamie Oliver's sweet pea fish pie recipe delivers comfort food at its finest—creamy sweet pea filling wrapped in a golden, buttery crust that's crispy on top and tender underneath.
The secret lies in layering perfectly poached fish fillets with sweet peas in a velvety béchamel sauce before sealing it all under a flaky pastry lid. I first tried this recipe during a rainy Portland winter when I needed a dish that felt like home.
The beauty of this classic fish pie is how it balances rich and light textures. The fish stays tender and flaky while the peas soften into the creamy sauce, creating a filling that's both comforting and elegant.
A proper béchamel base—made with butter, flour, and milk—adds that signature richness, while the pastry crust delivers a satisfying crunch with every bite. This is the kind of dish that transforms a simple weeknight dinner into something special.
What makes this recipe truly foolproof is the layering technique: poached fish first, then peas and sauce, topped with pastry. Baking at 375°F for about 30 minutes ensures the crust turns golden while keeping the filling warm and creamy.
The result is a pie that's hearty enough for a family dinner but elegant enough for guests—perfect for any occasion when you want to impress without stress.
For extra convenience, you can use pre-cooked fish or even frozen peas, though fresh ingredients always yield the best results. Serve with a simple green salad or steamed vegetables to balance the richness. Let's get started on this timeless classic!
Ingredients for jamie oliver sweet pea fish pie
Fresh fish, velvety béchamel, and golden crust—this pie balances comfort and elegance perfectly.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, haddock, or halibut preferred |
| Sweet Peas 🌱 | 1 ½ cups | Fresh or frozen, thawed |
| Unsalted Butter 🧈 | ¾ cup | Cold, cubed for béchamel |
| All-Purpose Flour 🌾 | ½ cup | For béchamel roux |
| Whole Milk 🥛 | 2 cups | Full-fat for creaminess |
| Heavy Cream 🥛 | ½ cup | For extra richness |
| Fresh Lemon Juice 🍋 | 2 tbsp | Brightens the filling |
| Shallots 🧅 | 2 whole | Finely chopped, aromatic |
| Garlic Cloves 🧄 | 3 cloves | Minced for depth |
| Fresh Dill 🌿 | ¼ cup | Chopped, fresh preferred |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Nutmeg 🌿 | ¼ tsp | Freshly grated |
| Store-Bought Puff Pastry 🍞 | 1 sheet | Thawed if frozen |
| Large Egg 🥚 | 1 whole | Beaten for egg wash |
The fish is the star, so opt for cod or haddock—they stay tender when poached. Whole Foods or local fish markets carry the freshest cuts, but any grocery store seafood counter will do. For the peas, frozen works perfectly if fresh isn't available, just thaw and drain them well. The shallots and garlic should be freshly minced—pre-chopped won't have the same aromatic punch. If you're short on time, pre-cooked fish fillets from the grocery store's deli section save steps without sacrificing quality.
No fresh dill? Dried dill at half the amount works, but fresh is ideal for that bright, herby note. The béchamel requires patience—don't rush the roux, or it'll turn grainy. If you're watching calories, substitute half the butter with olive oil, though the crust will be slightly less rich. For the pastry, Pepperidge Farm puff pastry is reliable, but any high-quality brand will work. The egg wash is non-negotiable—it's what gives the crust that signature golden sheen.
Store any leftover filling in an airtight container for up to 2 days, though the pie reheats beautifully. The crust loses crispness when reheated, so it's best eaten fresh. For extra convenience, prep the filling ahead and assemble the pie just before baking. The aroma alone will make your kitchen feel like home.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this recipe when I’m too tired to wash another dish. The fish steams in its own juices while the sweet pea and butter sauce thickens—just stir, cover, and let the oven do the work. No chopping, no fuss, just hands-off perfection.
- Sweet Pea Luxury: That bright, buttery sauce with fresh sweet peas? It’s like spring in a pie. The milk and flour make it silky, but the peas keep it fresh—no heavy cream needed, just pure, simple richness that tastes expensive.
- Leftovers That Work: This pie reheats like a dream—crispy top, flaky fish, and that sauce stays creamy. I make it on Sundays and pack it for lunches all week because it’s that good cold or warm, no sad soggy leftovers here.
- Budget-Friendly Feast: White fish fillets stretch further than you’d think, and frozen sweet peas save money without sacrificing flavor. A little butter and flour turn basic ingredients into something special—no gourmet shopping required.
Step-by-step instructions for Jamie Oliver's sweet pea fish pie
Here's how to assemble this comforting classic with tender fish and velvety pea filling.
Prepare the Sweet Pea and White Fish Filling
In a large saucepan, melt 0.75 cup unsalted butter over medium heat. Add the 2 whole shallots and 3 cloves garlic cloves, cooking until softened and translucent—about 5 minutes. This gentle cooking ensures the shallots melt into the filling rather than remaining distinct pieces.
Add the 1.5 cups sweet peas and stir for 2 minutes to coat them in the buttery aromatics. Pour in the 2 cups whole milk and 0.5 cup heavy cream, then bring to a gentle simmer. Reduce heat to low and let it cook for 10 minutes until slightly thickened. Stir in 2 tbsp fresh lemon juice, 0.25 cup fresh dill, 1.5 tsp salt, 0.5 tsp black pepper, and 0.25 tsp nutmeg. The filling should be smooth and fragrant, with the peas tender but still holding their shape.
In a separate skillet, heat 0.25 cup unsalted butter over medium heat. Season the 1.5 lb white fish fillets with 0.5 tsp salt and 0.25 tsp black pepper, then cook for 3-4 minutes per side until just opaque in the center. Remove and set aside to cool slightly before adding to the pea mixture.
Create the Creamy Béchamel Topping
In the same saucepan used for the pea mixture, melt 0.25 cup unsalted butter over medium heat. Whisk in 0.5 cup all-purpose flour and cook for 1-2 minutes, stirring constantly, until the mixture forms a smooth, pale roux. This is your béchamel base—don't let it brown, or it will taste bitter.
Gradually whisk in the 2 cups whole milk until fully incorporated. Return to medium heat and cook for 5-7 minutes, stirring frequently, until the sauce thickens enough to coat the back of a spoon. The béchamel should be velvety and smooth, with no lumps. Remove from heat and stir in 0.25 cup fresh dill, 0.5 tsp salt, and 0.25 tsp nutmeg to enhance the flavor.
Layer and Assemble the Pie
Preheat your oven to 375°F. Spread the sweet pea mixture evenly in a 9x9-inch baking dish, creating a base about 1 inch deep. Gently place the cooked white fish fillets on top of the peas, arranging them in a single layer. Pour the béchamel sauce over the fish, spreading it evenly to cover completely. The filling should be level and smooth, with no dry spots.
Roll out the 1 sheet store-bought puff pastry on a lightly floured surface until it's about 1/8-inch thick. Cut it to fit the baking dish with an overhang of about 1 inch on all sides. Fold the overhang inward to create a decorative edge, then use a fork to crimp the edges securely. Brush the pastry with the beaten 1 whole large egg for a golden finish.
Bake to Golden Perfection
Place the assembled pie on a baking sheet lined with parchment paper for easy transfer. Bake for 30-35 minutes until the pastry is deep golden brown and puffed. The filling should be bubbling gently, and the crust should be crisp and flaky. If the pastry browns too quickly, loosely cover it with foil to prevent burning.
Remove from the oven and let the pie rest for 10 minutes before serving. This resting time allows the filling to set slightly, making it easier to slice. The result should be a creamy, flavorful filling encased in a buttery, flaky crust—just as Jamie Oliver would make it. Serve with a simple green salad or steamed vegetables for a complete meal.
Pro Tips For Making Jamie Oliver Sweet Pea Fish Pie
- Poach Fish Low & Slow: Skip the high heat—this isn’t a sear, it’s a gentle bath. Simmer the fish fillets in milk at 160°F (71°C) for 8–10 minutes max, or they’ll turn to rubber. I learned this the hard way when I rushed it and ended up with flakes that fell apart like soggy paper.
- Blend Peas Until Silky: Don’t just mash them—pulse sweet peas in a food processor until smooth, then strain through a fine sieve. This removes grit and gives that velvety texture Jamie’s version nails. (Yes, even if you’re impatient like me, resist the urge to skip it.)
- Don’t Overwork the Roux: Cook the butter-flour base on medium-low heat until pale golden—about 3–4 minutes. If it darkens, you’ve killed the flavor. I used to rush this and wondered why my sauce tasted bitter. Trust the timer.
- Chill Before Baking: Let the assembled pie sit uncovered in the fridge for 30 minutes before baking. This firms up the custard layer so it doesn’t slide out of the dish like a greased pig. (Your future self will thank you.)
Dietary considerations for this dish
Gluten-Free Adaptations
For a gluten-free version, replace the puff pastry with a store-bought gluten-free puff pastry sheet like Schär or Cup4Cup. These brands mimic the flaky texture of traditional pastry while keeping the dish cohesive.
The filling remains unchanged since it's naturally gluten-free, but always double-check labels to avoid cross-contamination. I've tested this with Schär's gluten-free puff pastry and found it holds up beautifully during baking. 🌱
Dairy-Free Options
Swap the butter in the béchamel for Earth Balance dairy-free butter or olive oil to keep the sauce rich and creamy. Use unsweetened almond milk or oat milk instead of whole milk and heavy cream—just simmer slightly longer to achieve the same velvety consistency.
The filling will still taste indulgent without any dairy. I've had great success with Oatly full-fat oat milk in this recipe. 🥛
Lower-Calorie Modifications
Lighten the dish by using low-fat milk and light cream cheese blended into the pea mixture for creaminess. Replace half the butter in the béchamel with Greek yogurt—I use Fage 2% Greek yogurt for thickness and tang.
Skip the pastry entirely and broil the top for 3-5 minutes to create a golden crust using a mix of breadcrumbs and melted butter. This keeps the dish hearty but lighter. 💪
Vegetarian Substitutions
Replace the fish with extra-firm tofu or hearts of palm for a meaty texture. Press and pan-fry tofu in olive oil with the same seasoning, or use pre-cooked hearts of palm for convenience.
The pea filling remains the same, and the béchamel provides the creamy element. I've also used mushrooms sautéed with shallots and garlic for an umami-rich alternative. 🌿
Allergy-Friendly Swaps
For nut allergies, ensure all ingredients are nut-free (some brands add nut oils). If dill is a concern, substitute with fresh parsley or basil for a milder flavor. For seafood allergies, use chickpeas or white beans as a neutral protein base in the filling.
Always check labels on store-bought items like puff pastry for hidden allergens. I keep King Arthur gluten-free flour on hand for backup roux if needed. 🚫
Nutrition facts
Frequently asked questions
Can I use frozen sweet peas instead of fresh?
Frozen peas work perfectly and are often more convenient. Just thaw and drain them well before adding to the filling. The texture will be slightly softer than fresh peas, but the flavor remains bright and sweet. For best results, use peas that are fully thawed to avoid watery filling.
What's the best way to ensure the fish stays tender?
Poach the fish gently in milk or court bouillon (a light broth with aromatics) for 3-4 minutes per side until just opaque. Overcooking makes fish dry and rubbery. For extra tenderness, add a splash of lemon juice or white wine to the pan while cooking. The fish should flake easily with a fork when done.
How do I make the pastry extra crispy?
Brush the pastry with an egg wash (1 egg + 1 tbsp water) and sprinkle with coarse sugar or poppy seeds before baking. Chill the assembled pie for 20 minutes before baking to prevent soggy bottoms. Bake on the lower oven rack for the first 10 minutes to encourage browning.
Can I prep the filling ahead of time?
Yes! Assemble the filling up to 2 days ahead and refrigerate in an airtight container. When ready to bake, let it sit at room temperature for 30 minutes before adding the pastry. The filling may thicken slightly in the fridge—just stir in a splash of milk if needed. The pastry should always be added fresh for best texture.
What if my béchamel gets lumpy?
Lumpy béchamel happens when the roux isn't cooked long enough or stirred properly. Whisk vigorously over low heat and add milk gradually. For stubborn lumps, press a fine-mesh sieve over the saucepan while pouring to strain out any roughness. A splash of cold milk can also help smooth it out.
