RecipesFish and Seafood

R025

Meen Moilee

The pale coconut-milk fish curry, Cochin Latin Catholic and Anglo-Indian both

Low GlHigh Protein
Kerala fish curry

Photograph: Adobe Stock · representative of the dish

YieldServes 4
Active25 minutes
Total30 minutes
DifficultyEasy, with one unforgiving step
The re-engineeringThick first milk cut from about 250 ml to 100 ml and moved to the very end of the cooking; 150 ml of M13 fish stock takes up the volume, so the curry has the same body on roughly half the saturated fat.

Moilee — also spelled molee, molly and moily depending on whose grandmother wrote it down — is the mild, pale, sour-sweet counterpart to the red kudampuli curry, and it comes out of the most Portuguese-inflected kitchens in Kerala. Turmeric and green chilli do the work of chilli powder; lime or vinegar does the work of kudampuli. It is the dish that teaches the coconut-milk rule, because there is nowhere for a broken emulsion to hide in a curry this pale.

Before you start: Have the first milk measured and standing away from the hob. The last 60 seconds of this recipe decide whether it is a moilee or a broken curry, and you will not have time to go looking for a jug.

Meen Moilee

Active 25 minutes Total 30 minutes
Scale 4 servings

Ingredients — tap to tick off

  • 10 g (2 tsp) coconut oil
  • 150 g (about 15) shallots, sliced into thin rings
  • 15 g (a 3 cm piece) ginger, julienned
  • 10 g (about 3 cloves) garlic, sliced
  • 3 green chillies (about 15 g), slit
  • 3 g (¾ tsp) ground turmeric
  • 3 g (1 sprig) curry leaves
  • 100 g (about 1) tomato, in thin wedges
  • 150 ml M13 fish stock, or water
  • 200 ml second coconut milk (M08)
  • 3 g (½ tsp) M07 salt, or plain salt
  • 500 g (1 lb 2 oz) white pomfret, karimeen or seer fish, in 4 portions
  • 100 ml first coconut milk (M08)
  • 15 ml (1 tbsp) lime juice

Allergens: Fish.

Equipment: Wide shallow pan, 26–28 cm, non-reactive. Substitute: a clay pot works and holds heat beautifully, but a wide pan lets you see the surface, which is how you catch the milk before it splits.

Per serving (estimated)

Energy318 kcal
Protein27 g
Fibre3 g
Net carbohydrate10 g
Total carbohydrate13 g
Sugars6 g
Fat19 g
Saturated fat13 g
Sodium340 mg

From ICMR-NIN IFCT 2017 and USDA FoodData Central. Per-serving figures stay the same when you scale.

Method — tap a step to mark it done, tap a time to start a timer

  1. Heat the pan, then the oil, and cook the shallots, ginger, garlic and green chilli with a pinch of salt over a medium-low flame until translucent and just beginning to gold, . Moilee is not a browned curry; stop before colour builds.
  2. Add the turmeric and curry leaves and stir 45–60 seconds, until the turmeric smells warm and slightly earthy rather than dusty and the shallots have taken its colour.
  3. Add the tomato wedges and cook only, until the edges soften but the wedges still hold their shape. They are meant to be visible in the finished curry.
  4. Pour in the stock and the second coconut milk, add the rest of the salt, and simmer until the liquid has thickened very slightly and tastes of coconut rather than of raw milk.
  5. Slide in the fish in a single layer and simmer at a bare tremble until the flesh is opaque all the way to the bone and flakes along its natural lines when nudged with a spoon tip, depending on thickness. Take the pan off the heat.
  6. Add the first milk off the heat, swirling the pan rather than stirring it, until the curry warms through and turns a shade paler, . If you must return it to the flame, take it to the point where one bubble breaks every few seconds and no further.
  7. Finish with the lime juice, taste, and leave it covered for .
Why this worksCoconut milk is an oil-in-water emulsion held together by a film of coconut globulins around each fat droplet. Boil it and those proteins denature, stop sitting at the oil–water boundary, and the agitation lets the unprotected droplets coalesce: clear oil on top, grainy curds beneath, irreversibly. Second milk survives heat because there is far less fat to separate. First milk does not. That is the entire rule.
Sourcing note

This curry wants a firm white fish that holds its shape. In the US: pompano is the same family as pomfret and is widely available in the South; otherwise red snapper, black sea bass or halibut cheeks. In the UK: pollack, gurnard, hake or a farmed sea bream. In the Gulf: hamour (grouper) or safi (rabbitfish) both work; zubaidi is pomfret. In Australia: snapper, barramundi or blue-eye trevalla. Tinned coconut milk is the honest fallback if you are not making M08 — use it undiluted as the first milk and at 1:1.5 with water as the second, and expect a slightly flatter, more cooked flavour.

If you are watching…

Blood sugar: 10 g of net carbohydrate, and the fat slows gastric emptying further. This is a low-load main dish; the rice portion is the whole decision.

Blood pressure: 340 mg. Drop the added salt to 2 g and add a second slit chilli — 260 mg, and nobody notices.

Cholesterol: 13 g of saturated fat is the highest figure in this chapter and all of it is coconut. Coconut oil raises LDL-C relative to unsaturated oils by about 10.5 mg/dL across 16 trials (Neelakantan et al., 2020), and thick coconut milk is the same fat in a whole-food matrix. Two levers: swap the 10 g of coconut oil for sesame, and take the first milk down to 60 ml with 40 ml more stock. That lands at about 9 g and the curry survives it.

Swap it

No M08 → tinned coconut milk as in the sourcing note. Flatter, slightly cooked, and you lose the graded texture.

No fish stock → water plus 100 ml third coconut milk. Thinner-bodied; add 2–3 minutes to step 4.

Lime → 10 ml coconut vinegar, which is the older Latin Catholic choice. Sharper, more fermented, less floral.

No coconut at all → 40 g cashews blended with 200 ml water in place of the second and first milk together. Comparable body, different flavour, roughly a third of the saturated fat, more monounsaturated. (Allergen: this swap introduces tree nuts (cashew).)

Make ahead · store · freeze

Best within an hour of cooking, and this is the opposite of R024. Fridge 2 days. Do not freeze — the emulsion breaks on thawing and there is no repair. Reheat in a wide pan over the lowest possible flame, or better, over a pan of hot water.

Leftovers

Flake the fish into the gravy, thin it with stock and serve it over idiyappam (R005) as a breakfast. Or reduce the gravy to a spoonable thickness and use it as the sauce for R038.

Troubleshooting

Oil on the surface with grainy curds beneath: the first milk boiled. There is no repair. Next time, off the heat.

Gravy split even off the heat: the pan was too hot when the milk went in, or the milk was stirred rather than swirled. Let the pan sit 60 seconds before adding it.

Tastes flat and milky: not enough acid. Another 5 ml of lime, and check the salt after the acid, not before.

Fish tough and dry: it cooked while the milk was going in. Add the milk with the pan already off the heat and the fish only just set.

Serve with
R001 Appam · R015 Matta Rice · R068 Kumbalanga Olan · R089 Kerala Salad

Tap a star to rate this recipe

More from Fish and Seafood

Fish platter on a banana leafR024
Low GlHigh ProteinUnder 250 Kcal

Meen Vevichathu

Kudampuli fish curry, the Kottayam Syrian Christian way

232 kcal29 g protein45 minutes
Fish platter on a banana leafR026
Low Gl

Mathi Curry

Sardine curry with kudampuli — the cheapest good fish in Kerala

257 kcal24 g protein45 minutes
Kerala fish curryR027
High ProteinLow Sat FatUnder 250 Kcal

Ayala Varuthathu, Baked

Mackerel with a chilli-masala rub, in a very hot oven

173 kcal30 g protein45 minutes

Get the 7-Day Reset, free

The full seven-day menu, the Sunday preparation block and the shopping list — the opening week of the programme in the book, sent as a PDF.

Connect this form to your email tool before launch. No spam; unsubscribe any time.
Screen stays awake