Skip to content
foodoseGet my numbers

Milk-poached cod with mashed potato and spinach

Cod poached gently in milk, served on a soft mash made with that same milk, with wilted spinach. A mild, tender plate that flakes apart with a fork.

By The foodose editorial team. Nutrition calculated from USDA FoodData Central. Checked on paper on 16 October 2026; not yet cooked in a test kitchen or photographed, so the times and yield are estimates. How we develop our recipes
What still needs a real kitchen
  • Confirm cod fillets reach 63°C in 6 to 8 minutes in barely moving milk
  • Confirm 200 ml of milk is enough to poach, wilt the spinach and loosen the mash
  • Photograph the finished plate
Time
About 35 min
estimated
Serves
2
see below
Energy
385 kcal
per serving
Protein
36 g
per serving
Jump to recipe
Not yet photographed. The panel names the dish’s main ingredients rather than showing a picture we have not taken.

Ingredients for 2 servings

2 servings

Check off ingredients as you go.

Contains fish, milk.

Cooking steps

  1. Cut the potatoes into 4 cm pieces, put them in a pan, cover with cold water and bring to the boil. Simmer for 15 to 18 minutes, until completely tender.

  2. When the potatoes have about 10 minutes left, pour the milk into a 20 cm frying pan with a lid and warm it over medium-low heat until it steams. Lay in the cod, cover and poach over the lowest heat, with the milk barely moving, for 6 to 8 minutes, until the cod reaches 63°C and flakes easily.

    Cooked when: 63°C / 145°F, or until the flesh is opaque and flakes easily. A food thermometer is the reliable way to tell.

  3. Lift the cod onto a warm plate and cover it. Add the spinach to the milk in the pan and turn it for 1 minute until wilted, then lift it out with a slotted spoon, pressing it against the side of the pan to drain.

  4. Drain the potatoes and let them steam dry for 1 minute. Mash with the butter and enough of the poaching milk to make a soft, loose mash.

  5. Serve the cod on the mash with the spinach beside it, spoon over the rest of the poaching milk and scatter with the parsley. Check for bones as you break into the fish.

The useful detail

Poach the cod in the milk you will mash with. The fish flavours the milk as it cooks, and the milk carries that flavour into the potato, which is why the mash needs nothing else.

Make it work for you

One serving is One cod fillet on about 220 g of mash, with half the spinach. You can switch to a smaller portion in the ingredients above; it is three quarters of this, and it contains correspondingly less energy and protein. It is an option, not a goal.

  • Haddock instead of cod

    A little sweeter and flakier. The same poaching time.

    Per serving: about 10 kcal less, about 2 g less protein, about the same fat.

  • Salmon instead of cod

    Richer, with much more fat and energy. Poach it for 8 to 10 minutes.

    Per serving: about 190 kcal more, about 4 g more protein, about 19 g more fat.

  • Unsweetened soya milk instead of dairy milk

    Slightly thinner, and the mash is a little less rich.

    Per serving: about 10 kcal less, about the same protein, about the same fat.

    Allergens: Adds soya. The butter still contains milk.

Estimated nutrition

Per standard serving, calculated from the ingredients above. Nutrition changes with substitutions, brands and how much oil stays in the pan.

White fish is nearly all protein, so each plate carries over 30 g of it while most of the energy comes from the mash.

Nutrition per serving
Energy385 kcal
Protein36 g
Fat8 g
of which saturates4 g
Carbohydrate43 g
of which sugars7 g
Fibre6 g
Sodium200 mg
Show calculation notes

Each ingredient’s weight is multiplied by its USDA FoodData Central values per 100 g. The whole recipe is added up and divided by 2. Raw weights are used for meat, fish and vegetables; beans and lentils are drained weights. All of the oil is counted as eaten. Added salt is not included; sodium from stock, bread, cheese and tinned food is.

Calculation, whole recipe
IngredientWeight usedSourceEnergyProtein
potatoes400 gFDC 170026Potatoes, flesh and skin, raw308 kcal8.2 g
milk205 gFDC 171267Milk, reduced fat, fluid, 2% milkfat, with added vitamin A and vitamin D103 kcal6.8 g
cod300 gFDC 171955Fish, cod, Atlantic, raw246 kcal53.4 g
spinach150 gFDC 168462Spinach, raw35 kcal4.3 g
butter10 gFDC 173430Butter, without salt72 kcal0.1 g
parsley5 gFDC 170416Parsley, fresh2 kcal0.1 g
Whole recipeDivided by 2765 kcal73.0 g

Per serving the energy is rounded to the nearest 5 kcal, grams to the nearest whole gram and sodium to the nearest 10 mg. Calculation method 1.0, September 2026. How the calculation works.

Storage and reheating

In the fridge
Cool, cover and refrigerate within 2 hours of cooking. Eat within 3 to 4 days. Keep the mash separately if you can; it reheats better loosened with a splash of milk.
In the freezer
The FDA chart gives cooked fish 4 to 6 months in the freezer for best quality.
Reheating
Reheat until it reaches 74°C / 165°F, steaming hot throughout.

Checked against US Food and Drug Administration, Refrigerator and Freezer Storage Chart, USDA Food Safety and Inspection Service, Leftovers and Food Safety, FoodSafety.gov, Safe Minimum Internal Temperatures and FoodSafety.gov, Cold Food Storage Chart. UK guidance from the Food Standards Agency is shorter, at two days for most leftovers.

Try another recipe

  • Chicken and leek barley soup

    A warm chicken soup with soft leeks, carrots and pearl barley.

    About 55 min · 405 kcal · 36 g protein per serving

  • Butternut, white bean and sage soup

    Roasted squash and white beans blended into a smooth sage soup.

    About 50 min · 345 kcal · 20 g protein per serving

    Vegetarian

Where this fits