Sri Lankan Fish Curry
Fish simmered in coconut milk with roasted curry powder, goraka and curry leaves — dark, sour and considerably hotter than most Indian fish curries.
Photograph credit: J D Wetherspoon Sri Lankan prawn and fish curry, The Tanners Hall, Skinnergate, Darlington (20th November 2025) by Mtaylor848 · CC BY-SA 4.0 · Wikimedia Commons · this resized copy is shared under the same licence
Photograph credit: Srilankan fish curry by Jkwinter · CC BY-SA 4.0 · Wikimedia Commons · this resized copy is shared under the same licence
Method
Tap a step to highlight it, or turn on Cook Mode for large type and step-by-step focus.
-
Toast all the curry powder spices in a dry pan over medium heat for 6 to 8 minutes, stirring, until they are dark brown and smell smoky. Take them further than feels right, but stop before black. Cool and grind.
-
Soak the goraka in hot water for 20 minutes, then squeeze and keep both the pieces and the liquid.
-
Cut the fish into large chunks and toss with a little salt and turmeric.
-
Heat the coconut oil and fry the onion, garlic, ginger, curry leaves, lemongrass and pandan for 8 minutes until soft and fragrant.
-
Add the chilli powder, turmeric, fenugreek seeds and 2 tablespoons of the roasted curry powder, and fry 2 minutes.
-
Add the water, the goraka and its soaking liquid, and the salt. Simmer 5 minutes.
-
Pour in the coconut milk and bring to a bare simmer — do not boil, or it will split.
-
Slide the fish in in a single layer with the green chillies. Do not stir; shake the pan instead.
-
Cook 8 to 10 minutes, spooning sauce over, until the fish is just done and the gravy has thickened.
-
Rest 10 minutes off the heat before serving with rice.
Chef’s Tips
- Roast the spices dark. This is the single difference from an Indian curry.
- Never boil once the coconut milk is in.
- Shake the pan rather than stirring, or the fish breaks up.
Common Substitutions & Variations
- For a non-vegan version, double cream can generally stand in for the coconut milk; going the other way, a plant-based cream sold for cooking is the closer match to dairy than tinned coconut milk on its own.
- A pinch of dried chilli flakes works in place of fresh chilli — start with about a third of the quantity the green chillies in the list implies, since dried chilli is more concentrated, and add more to taste.
- A quarter-teaspoon of ground ginger per tablespoon of fresh is the standard ratio if you are working from the spice rack rather than a fresh root.
Pairing Suggestions
- Red rice or basmati
- Coconut sambol
- Papadums
Storage & Reheating
Refrigerate up to 2 days and reheat below a simmer. Do not freeze.
Common questions
How long does Sri Lankan Fish Curry take to make?
About 50 minutes in total — 20 minutes of preparation and 30 minutes of cooking. The recipe serves 4.
What are the key tips for making Sri Lankan Fish Curry?
Roast the spices dark. This is the single difference from an Indian curry. Never boil once the coconut milk is in. Shake the pan rather than stirring, or the fish breaks up.
What should I serve with Sri Lankan Fish Curry?
Red rice or basmati; Coconut sambol; Papadums.
Can Sri Lankan Fish Curry be made ahead or frozen?
Refrigerate up to 2 days and reheat below a simmer. Do not freeze.
Is Sri Lankan Fish Curry suitable for a special diet?
This recipe is gluten-free, dairy-free, high-protein, low-carb and no added sugar. Those labels are checked against the ingredient list, so a dish is only marked when nothing in it contradicts the claim.
How many calories are in Sri Lankan Fish Curry?
About 554 kcal per serving, with 30 g protein, 14 g carbohydrate and 42 g fat. The figures are calculated from the ingredient list and are an estimate.
Nutritional Highlights
Per serving, calculated from the ingredient list. Treat these as an estimate — brands and cuts vary.
Reader Reviews
Cooked this? Leave a review
Written and tested by Turab
One person, one kitchen — no test kitchen, no team. How every recipe on this site is checked before it goes up.