A delicious, mild yellow Sri Lankan Fish Curry is a perfect weeknight dinner. Easy and quick to make, this gorgeous fish curry is ready in just about 30 minutes. Get ready to be wowed by the amazing coastal flavours in this fragrant curry and don't forget to try it with this Cabbage Thoran (South Indian Cabbage Curry) for a uniquely coastal meal.
🐟 What is Sri Lankan Fish Curry?
There are two types of Sri Lankan Fish Curry - Kirata and Mirisata. Kirata is the milder yellow fish curry whereas Mirisata is the spicier red fish curry. Kirata, the milder yellow Sri Lankan Fish Curry is usually made with Thalapth also known as Sailfish. Kingfish is also a popular choice of fish for this curry in Sri Lanka. But any firm white fish works really well. I have made my Sri Lankan Fish with Australian barramundi.
This yellow fish curry is not very different from a southern Indian fish curry but does have certain unique ingredients that elevate its delicate, fragrant and sweet-sour flavour.
Sri Lankan fish curry is punctuated by the use of souring elements like lime, lemongrass and tamarind. Along with aromatics and spices, this beautiful coastal yellow fish curry is absolutely delicious.
🧡 Why you'll love this curry
- Easy to make.
- One-pan recipe.
- Ready in 30 minutes.
- Light, fragrant and delicious.
- High in protein and good fats.
📝 Ingredients and Substitutions
Sri Lankan Fish Curry has many ingredients found in coastal cuisines around the world. Here is what you will need.
- Fish - A firm white fish is key to making this mild yellow Sri Lankan Fish Curry. I have used my favourite fish - barramundi. I also often use Tilapia or Cod. You can substitute with any firm-fleshed white fish like Ling, Snapper, Basa, Halibut or Mahi Mahi.
- Chilli - I have used one green cayenne chilli. This keeps the dish milder with just a warm buzz from the chilli.
- Whole spices - Traditionally, one would only use fenugreek and fennel as whole spices and use a Sri Lankan Brown Curry spice blend to add the rest of the flavours. This spice blend is not easily available where I live, so I use a combination of whole spices and ground spices to get that authentic curry flavour.
- whole spices - fenugreek, fennel, cumin, mustard, cinnamon
- ground spices - cardamom, coriander, black pepper
- If you don't like too many whole spices in your curry just use whole fenugreek and fennel while switching the rest of the spices for grounds - cumin, mustard, cinnamon, coriander, cardamom and black pepper.
- Tamarind - Tamarind paste is made from tamarind pulp and is a popular souring agent in South Asian cuisine. It is can be sourced from Indian or Asian supermarkets. You can substitute this with lime juice (see notes)
- Lemongrass - Fresh lemongrass is best for this recipe but ground lemongrass also works. This can be found in powder form at special spice stores.
- Coconut Milk - Full-fat coconut milk is excellent for making a thick, luscious curry.
- Pandan Leaf - This is a fragrant, dark green, grass-like leaf used to flavour South Asian desserts, curries and rice. It can be bought fresh or frozen at fresh grocers or Asian supermarkets. You only need a blade of the leaf for this recipe. If you can't find it, just leave it out. I used to make Sri Lankan Fish Curry without pandan leaves until I came upon chef O Tama Carey's advice in her cookbook Lanka Food. Carey, who runs Lankan Filling Station in Sydney, uses pandan leaves in her yellow curry and after I tried it, there is another level of fragrant complexity to the curry which is very inviting.
🔥 How to make Sri Lankan Fish Curry?
- Marinate fish, turmeric, lime and salt in a bowl. Chill in the fridge for 30 minutes.
- Assemble all your whole spices, ground spices, seasoning, chopped aromatics and veggies before you start cooking.
3. Fry curry leaves and whole spices in a shallow, large chef's pan for a few seconds until spices start to crackle.
4. Add onion and chilli. Cook for a few minutes until softened.
5. Add garlic and cook for a few seconds until golden.
6. Add tomato and ground spices. Mix and cook for a few minutes.
7. Add coconut milk, tamarind paste and seasoning. Cook for a few minutes.
8. Finally add marinated fish and pandan leaf is using. Mix well.
9. Cover and cook for a few minutes.
10. Make sure the fish is cooked through. Remove from heat. Garnish with coriander and serve hot.
🍽️ Serving Suggestions
Try this delicious curry with roti, hoppers or steam rice.
💛 More Delicious Curry Recipes
Hungry For More Recipes? Subscribe to my newsletter. Check out Facebook, Instagram and Pinterest to see everything I share! And if you love cooking and new cookbooks, join my free Cooking Club on Facebook!
Sri Lankan Fish CurryPrint Recipe Rate / Comment
to marinate the fish
- 500 g firm white fish fillets, barramundi
- 1 tsp ground turmeric
- 1 tbsp lime juice
- ½ tsp sea salt flakes
for the curry
- 2 tbsps grapeseed oil, (or any neutral oil)
- ½ cinnamon quill
- 1 tsp cumin seeds
- ½ tsp mustard seeds
- ½ tsp fenugreek seeds
- ½ tsp fennel seeds
- 12 curry leaves
- 1 lemongrass, white only, finely chopped
- 1 green cayenne chilli, deseeded and thinly sliced
- 1 brown onion, halved and thinly sliced
- 3 garlic cloves, minced
- 1 tomato, chopped
- ¼ tsp freshly ground black pepper
- ½ tsp ground cardamom
- 1 tbsp tamarind paste
- 300 ml coconut milk
- 1 pandan leaf, (optional)
- Sea salt flakes, to taste
- Coriander leaves, to garnish
- Cut fish into large cubes. Place in a glass bowl with ground turmeric, lime juice and salt. Mix well. Cover with cling film and marinate in the fridge for 30 minutes.
- Heat oil in a heavy-bottomed cooking pot on high. Add cinnamon, mustard, cumin, fenugreek, fennel, lemongrass and curry leaves. Sauté for a few seconds until the spices are fragrant and start to crackle and pop.
- Reduce heat to medium. Add onion and green chilli. Cook for 6-8 minutes until onion softens.
- Add garlic. Sauté for a few seconds until golden.
- Add black pepper, salt, cardamom, ground coriander and tomatoes. Cook for 5-6 minutes, stirring occasionally until tomatoes have softened and are starting to caramelize.
- Add tamarind paste and coconut milk. Check for seasoning and adjust salt if necessary. Reduce heat to medium-low, cover and simmer for 8 minutes.
- Add marinated fish and pandan leaf (if using). Cover and simmer on medium-low for another 5-6 minutes until fish is cooked through. Remove from heat, garnish with coriander leaves and serve hot with steamed rice.
OMG!! This is an absolute flavour BOMB! When I looked at the recipe, I thought there was a lot going on, but once it all comes together, this curry is unforgettable! It’s tangy-sweet from the tamarind, fragrant from the lemongrass, curry leaves and spices, and the coconut milk makes it super creamy.
I used a splash of coconut oil along with sunflower oil, because I love coconut flavour. If you’re not too keen on whole spices, bash the lemongrass, cumin, fenugreek, fennel seeds in a mortar and pestle.