Cod in parsley sauce is the British classic of poached cod under a warm bechamel green with chopped flat-leaf parsley. The move is to poach the fish in milk first, then use that same milk to build the sauce so it tastes of cod without ever tasting fishy. Ready in about 25 minutes, served over boiled new potatoes and buttered peas.
Cod in parsley sauce is a fillet of cod, a spoonful of pale green sauce, a pile of buttery new potatoes, a heap of peas, a wedge of lemon, and a cold glass of Muscadet. Pubs in the West Country still serve the dish in that exact configuration, and Rick Stein has written about it more than once. The home version below is built around a milk poach that doubles as the base for the sauce.

Tools You’ll Want
A wide shallow pan with a lid handles the milk poach better than a deep pot, because the cod needs to be barely submerged. A small saucepan and a balloon whisk make the bechamel painless. A fish slice (flat slotted spatula) is the right tool for lifting the cooked fillet without flaking it.
Recommended Reads
A Quick Note on the Dish
Cod in parsley sauce is one of those British dishes that defined a generation’s idea of fish. School dinners, fish-on-Friday Catholic households, post-war kitchens working through rationing leftovers. The format never went away because the technique is sound: a mild white fish gently poached, a forgiving sauce that does not require any fancy equipment, and a meal that lands inside half an hour.
The Spanish have a cousin dish called merluza en salsa verde, hake in a green sauce thickened with olive oil and flour and pulled together with clam juice and parsley. Same green-herb-and-white-fish DNA, different fat. Knowing the Spanish version exists is useful when the British one starts to feel like nursery food; the technique here scales up to a dinner-party dish if you swap the milk for a fish-stock-and-cream base.
Why the Sauce Works
The poaching milk does double duty. As the cod cooks, gelatin and seasoning leach out into the liquid, and that infused milk becomes the body of the sauce. Build a blonde roux, whisk the warm fishy milk in slowly, and the result tastes faintly of cod without ever being fishy. The parsley goes in off the heat at the very last minute, which keeps the color bright green rather than dulled to army drab.
The most common failure mode is splitting. This happens when the sauce gets too hot after the parsley is in, or when butter is added back over direct heat. Keep the heat low, finish the sauce off the burner, and whisk a few cold butter cubes in at the very end for shine.
Recipe: Cod in Parsley Sauce

Ingredients
- 4 cod loin or thick fillet pieces, about 150 g (5 oz) each. Thick center cuts cook more evenly than the thin tail ends. Skin-on or skin-off both work; the skin slips off easily once poached.
- 600 ml (2 1/2 cups) whole milk. The fat content matters. Skimmed milk gives a thin, watery sauce.
- 1 bay leaf, fresh or dried, to flavor the poaching milk.
- 1 teaspoon black peppercorns, lightly crushed.
- 1 yellow onion, a thick slice or two for the poach. Discarded when the milk is strained.
- 50 g (3 1/2 tablespoons) unsalted butter, for the roux and the finishing shine. Salted will throw the seasoning off.
- 30 g (1/4 cup) plain all-purpose flour, for the blonde roux.
- 1 generous bunch flat-leaf parsley, leaves picked and chopped at the last minute. Curly parsley works but flat-leaf has more flavor.
- 1 lemon, a wedge at the end for brightness, not a deluge.
- Sea salt and white pepper, to taste. White pepper for the classic look. Black is fine if that is what is on hand.
Instructions
- Pat the cod dry with a paper towel and season both sides with salt. Pour about 500 ml (2 cups) of whole milk into a wide shallow pan. Add a bay leaf, a teaspoon of crushed peppercorns, and a thick slice of onion. Bring the milk to a bare simmer over medium heat, watching for steam and the first small bubbles around the edge of the pan, not a rolling boil.
- Slide the cod fillets into the warm milk in a single layer. The liquid should come about two-thirds up the side of the fish. Lower the heat to keep the milk at a quiet simmer and cover the pan loosely. Poach for about 4 to 6 minutes, depending on thickness, until the cod flakes easily when nudged with a fork and the center is just opaque. Lift the fillets out with a fish slice and rest them on a warm plate covered loosely with foil.
- Strain the warm milk through a fine sieve into a measuring jug; you want about 400 ml (1 2/3 cups) for the sauce. Discard the solids.
- Wipe out the pan or grab a small clean saucepan. Melt 30 g (2 tablespoons) of unsalted butter over medium-low heat. When it foams but before it colors, whisk in 30 g (2 tablespoons) of plain flour. Cook the roux for about 1 to 2 minutes, whisking constantly, until it smells biscuity but stays pale blonde. Do not let it brown.
- Pour the warm strained milk into the roux a splash at a time at first, whisking after each addition to keep the sauce smooth. Once about half the milk is in, the rest can go in a steadier stream. Bring the sauce up to a quiet simmer and cook it for about 5 minutes, whisking now and then, until the floury taste is gone and the sauce coats the back of a spoon.
- Pull the pan off the heat. Whisk in a small knob (about 10 g or 2 teaspoons) of cold butter for shine. Add a generous handful of finely chopped flat-leaf parsley, about 30 g (1 cup loosely packed), and a small squeeze of lemon. Taste and season with sea salt and white pepper.
- Plate the cod over celeriac puree or alongside boiled new potatoes. Spoon the warm parsley sauce over and around the fish. Serve with peas and a lemon wedge on the side.
Tips and Variations
If the sauce splits
Pull the pan off the heat at once. Whisk in a tablespoon of cold milk or a small ice cube to drop the temperature, then whisk vigorously for a minute. Splitting usually means the parsley went in over direct heat. Next time, kill the burner first.
Other white fish that work
Haddock is the classic British alternative. Pollock and hake both poach well in milk. Avoid oily fish (salmon, mackerel) here; the flavors fight the sauce. Smoked haddock is excellent if you want a smokier version.
Dairy-free version
Swap the milk for unsweetened oat milk and use olive oil in the roux instead of butter. The sauce will taste cleaner and less rich, which is closer to the Spanish merluza style. A splash of dry white wine and a squeeze of lemon at the end carries the flavor.
Modern plating
Spoon the sauce under the fish rather than over it. A bed of carnaroli risotto or celeriac puree, a fillet on top, a small slick of sauce, a scattering of pea shoots, and a half-lemon turns the school-dinner classic into a restaurant plate.
What to Serve It With
The British meal context is simple and good: boiled new potatoes (Jersey Royals when they are in season, May to July), buttered peas, and a wedge of lemon. The whole plate is about 20 minutes of work if the potatoes go on first.
For a more modern plate, swap the potatoes for celeriac puree or a small mound of risotto, and finish the peas with brown butter and lemon zest. Wilted spinach is another classic pairing, especially in spring. The drink is a crisp dry white: Muscadet from the Loire is the traditional choice, Albarino from Galicia leans into the Spanish-cousin connection, and English Bacchus is a nice nod to the dish’s home country.
Frequently Asked Questions
What fish goes with parsley sauce?
Mild white fish are the standard: cod, haddock, hake, pollock, smoked haddock. Avoid oily fish like salmon or mackerel, which fight the cream and the parsley.
Why does my parsley sauce split or curdle?
Usually because it got too hot after the parsley went in, or because the sauce was held over direct heat with butter added back. Finish the sauce off the burner. If it splits, whisk in a cold splash of milk to bring it back.
Can you make parsley sauce without milk?
Yes. Use fish stock with a splash of cream for a more restaurant-style version, or oat milk with olive oil in the roux for a dairy-free one. The Spanish merluza style uses no milk at all and works well.
How do you poach cod in milk?
Bring whole milk to a bare simmer with bay leaf, peppercorns, and onion. Slide the fish in, lower the heat, and cook covered for about 4 to 6 minutes until the flesh flakes easily. The milk should never come to a rolling boil.
What do you serve with cod in parsley sauce?
Traditionally boiled new potatoes and buttered peas, with a wedge of lemon. Modern plating leans on celeriac puree or risotto under the fish. A crisp dry white wine (Muscadet, Albarino, or English Bacchus) is the standard drink.
Can you make parsley sauce ahead of time?
Make the bechamel base ahead and refrigerate for up to two days. Warm it gently before serving, then stir in the chopped parsley off the heat at the last moment. Adding parsley early dulls the green and dulls the flavor.
Key Takeaways
- Poach the cod in milk first, then reuse that milk to build the bechamel. The sauce ends up tasting of cod without being fishy.
- Build a blonde roux: butter plus flour, cooked 1 to 2 minutes, no color.
- Add chopped fresh parsley off the heat at the very end to keep the color green and the flavor bright.
- If the sauce splits, pull off the heat and whisk in a cold splash of milk.
- Serve with boiled new potatoes, buttered peas, lemon, and a glass of crisp white wine.
Final Thoughts
This is one of those dishes that gets dismissed as old-fashioned right up until someone makes it properly. The milk poach reads as quaint on paper and works beautifully in practice. Cod cooked this way is moist in a way that no pan-frying gets to, and the sauce is genuinely the right partner for it.
The meal context is the part most people forget. A bowl of buttered peas, a small pile of new potatoes, a wedge of lemon, and a cold glass of Muscadet is the whole point of the dish. The fish is the centerpiece but the meal is what makes the recipe feel finished.
Cod in Parsley Sauce
Cod in parsley sauce is the British classic of poached cod under a warm bechamel green with chopped flat-leaf parsley. The move is to poach the fish in milk first, then use that same milk to build the sauce so it tastes of cod without ever tasting fishy.
Ingredients
- 4 cod loin or thick fillet pieces, about 150 g (5 oz) each
- 600 ml (2 1/2 cups) whole milk
- 1 bay leaf, fresh or dried, to flavor the poaching milk
- 1 teaspoon black peppercorns, lightly crushed
- 1 yellow onion, a thick slice or two for the poach
- 50 g (3 1/2 tablespoons) unsalted butter, for the roux and the finishing shine
- 30 g (1/4 cup) plain all-purpose flour, for the blonde roux
- 1 generous bunch flat-leaf parsley, leaves picked and chopped at the last minute
- 1 lemon, a wedge at the end for brightness, not a deluge
- Sea salt and white pepper, to taste
Instructions
- Pat the cod dry with a paper towel and season both sides with salt. Pour about 500 ml (2 cups) of whole milk into a wide shallow pan. Add a bay leaf, a teaspoon of crushed peppercorns, and a thick slice of onion.
- Slide the cod fillets into the warm milk in a single layer. The liquid should come about two-thirds up the side of the fish. Lower the heat to keep the milk at a quiet simmer and cover the pan loosely.
- Strain the warm milk through a fine sieve into a measuring jug; you want about 400 ml (1 2/3 cups) for the sauce. Discard the solids.
- Wipe out the pan or grab a small clean saucepan. Melt 30 g (2 tablespoons) of unsalted butter over medium-low heat. When it foams but before it colors, whisk in 30 g (2 tablespoons) of plain flour.
- Pour the warm strained milk into the roux a splash at a time at first, whisking after each addition to keep the sauce smooth. Once about half the milk is in, the rest can go in a steadier stream.
- Pull the pan off the heat. Whisk in a small knob (about 10 g or 2 teaspoons) of cold butter for shine. Add a generous handful of finely chopped flat-leaf parsley, about 30 g (1 cup loosely packed), and a small squeeze of lemon.
- Plate the cod over celeriac puree or alongside boiled new potatoes. Spoon the warm parsley sauce over and around the fish. Serve with peas and a lemon wedge on the side.
Last update on 2026-08-08 / Affiliate links / Images from Amazon Product Advertising API