Home · Recipes · Sri Lankan white fish curry with coconut
Cook something good
Sri Lankan white fish curry with coconut
Chunks of white fish gently poached in a coconut sauce fragrant with curry leaves, cinnamon, mustard seeds and fresh chilli, with a squeeze of lime. Bright, warming and lighter than it tastes.

- 45 minutes
- Prep 15 minutes
- Cook 30 minutes
- Serves 4
Our own recipe. The photograph is AI-generated.
Ingredients
- 600g firm skinless white fish, such as cod or hake loin, cut into 4cm chunks
- Half a teaspoon ground turmeric
- Half a teaspoon salt, then more to taste
- Juice of 1 lime
- 2 tablespoons (30ml) vegetable oil
- 1 teaspoon black mustard seeds
- Half a teaspoon fenugreek seeds
- 12 to 15 curry leaves, fresh or dried
- 1 onion, thinly sliced
- 3 garlic cloves, thinly sliced
- A thumb-sized piece of ginger (about 20g), peeled and cut into thin matchsticks
- 2 green chillies, slit down one side
- 1 cinnamon stick
- 2 teaspoons ground coriander
- 1 teaspoon ground cumin
- 1 teaspoon chilli powder
- 2 tomatoes, chopped
- 1 x 400ml tin coconut milk
- To serve: 300g basmati rice
- A small handful of fresh coriander (about 15g)
Let's cook
- Put the fish in a bowl with the turmeric, salt and half the lime juice. Turn the pieces gently to coat them and leave them in the fridge while you make the sauce.
- Heat the oil in a large, wide pan on a medium heat. Add the mustard seeds and, once they start to pop (after about 30 seconds), add the fenugreek seeds and curry leaves. Stand back, because the leaves spit.
- Add the onion and cook for 8 minutes until soft and golden. Add the garlic, ginger, green chillies and cinnamon stick and cook for 2 minutes more.
- Stir in the ground coriander, cumin and chilli powder for 30 seconds, then add the tomatoes. Cook for 5 minutes, stirring, until they soften into a thick paste.
- Pour in the coconut milk and 100ml water and bring to a gentle simmer. Cook for 5 minutes so the flavours come together. Meanwhile, start the rice: rinse it until the water runs almost clear, put it in a pan with 550ml water and a pinch of salt, bring to the boil, cover, turn the heat to its lowest and cook for 10 minutes, then leave it covered off the heat for 5 minutes.
- Slide the fish into the sauce in one layer. Spoon the sauce over it, cover the pan and simmer very gently for 5 to 7 minutes, without stirring, until the fish is white all the way through and flakes when you press it.
- Add the rest of the lime juice, taste and add salt if needed. Take out the cinnamon stick. Scatter with coriander and serve with the rice.
Tips
- Do not stir once the fish is in, or it will break up. Gently shake the pan instead.
- Fresh curry leaves are sold in the world foods aisle or Asian shops. Freeze what you do not use; they keep their flavour well.
- Cool any leftover rice within an hour, keep it in the fridge and eat it within a day. Reheat it until it is steaming hot.
Swaps
- Milder: use 1 green chilli and half a teaspoon of chilli powder, or paprika in place of chilli powder.
- Cheaper: frozen white fish fillets work well. Defrost them in the fridge overnight and pat them dry first.
- No fish: use 2 x 400g tins of chickpeas, drained, and simmer them for 10 minutes in the sauce.
Tags
Contains: Fish, Mustard .
This recipe contains fish and mustard, from the mustard seeds. Coconut milk is not counted as a tree nut under UK rules. Leave out the mustard seeds for anyone with a mustard allergy.
Check every packet for allergens.