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.

Golden yellow Sri Lankan Fish Curry with Barramundi fish.
Jump to:

🐟 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

  1. Easy to make.
  2. One-pan recipe.
  3. Ready in 30 minutes.
  4. Light, fragrant and delicious.
  5. High in protein and good fats.

Get my awesome weekly cooking newsletters with new recipes, dinner ideas and exciting things to read, discover and cook!

📝 Ingredients and Substitutions

Sri Lankan Fish Curry has many ingredients found in coastal cuisines around the world. Here is what you will need.

Sri Lankan Fish Curry ingredients measured and labeled - Barramundi fish, onion, tomato, garlic, curry leaves, chilli, coconut milk, tamarind, pandan, black pepper, cardamom, cumin, coriander, fennel, mustard, fenugreek, turmeric, cinnamon, pandan, lemongrass and lime.
  • 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 with turmeric, lime and salt in a bowl. Gather all your ingredients.
  1. Marinate fish, turmeric, lime and salt in a bowl. Chill in the fridge for 30 minutes.
  2. Assemble all your whole spices, ground spices, seasoning, chopped aromatics and veggies before you start cooking.
Fry whole spices in oil in a pan. Fry onion and chilli.

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.

Cook garlic, tomato and ground spices until fragrant.

5. Add garlic and cook for a few seconds until golden.

6. Add tomato and ground spices. Mix and cook for a few minutes.

Add coconut milk, tamarind paste, marinated fish, pandan leaf and seasoning to the pan.

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.

Cover and cook Sri Lankan Fish Curry until fish is cooked.

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.

Serve the fish curry with steamed rice.

🍽️ 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!

Golden yellow Sri Lankan Fish Curry with Barramundi fish.

Sri Lankan Fish Curry

5 from 6 votes
Print Recipe Rate / Comment
Author: Sneh
Course // Dinner, Main Course, Seafood
Cuisine // Dairy Free, Gluten Free, Nut Free, Sri Lankan
Prep Time: 10 minutes
Total Time: 35 minutes
Servings: 4
Calories: 411kcal


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 tsp ground coriander
  • 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.


Fish - This milder, yellow Sri Lankan Curry is always made with a firm white fish. My favourite is Barramundi. But I also love using Cod or Tilapia in my curries. Tilapia is wonderful as it is very low in mercury due to its fast-growing nature and has a delicious flavour. You can also substitute with Basa, Snapper, Halibut, Ling or Mahi Mahi. 
Lemongrass - I like to use fresh lemongrass when I can find it or harvest it in my veggie patch. When I don't have fresh lemongrass on hand, I use lemongrass powder (about 1/2 teaspoon for this recipe). This is very handy to have in your pantry, lasts for months and is perfect for giving that tangy flavour in Asian dishes. You can usually buy it at spice stores.
Tamarind paste - It is a South Asian paste made from tamarind pulp. It is smooth, thick and brown. It has a very sour flavour and should be used sparingly. It can be found at Asian supermarkets or Asian aisles at regular supermarkets. If you can't find it, substitute with 2 tablespoons lime juice.
Pandan leaf - Pandan leaf is thin and dark green like a fat blade of grass. It is deeply fragrant and often used to flavour Asian steamed rice, curries and desserts. Fresh and frozen leaves can be found at specialty grocers or frozen section of Asian supermarkets. Fresh leaves barely last 2 days before turning brown. Frozen leaves last for years and are great to have in the freezer. If you don't have pandan leaves, just leave them out.


Calories: 411kcal | Carbohydrates: 14g | Protein: 28g | Fat: 29g | Saturated Fat: 15g | Polyunsaturated Fat: 8g | Monounsaturated Fat: 3g | Cholesterol: 63mg | Sodium: 414mg | Potassium: 811mg | Fiber: 3g | Sugar: 5g | Vitamin A: 715IU | Vitamin C: 115mg | Calcium: 85mg | Iron: 4mg
Did you make my recipe?I'd love to hear how you went! Tag me on Instagram @cookrepublic