Sri-Lankan Fish Curry

Fish, a staple in most Sri-Lankan households, is often made into a spicy curry, yellow curry, or deep-fried. Fish is also used in addition to potatoes and other spices to make fillings for savoury snacks or appetizers such as cutlets, rolls, and patties. Sri-lankans tend to deep-fry a lot of their foods and although I love Sri-Lankan cuisine I definitely cannot justify using so much oil. I avoid deep-frying as a means of cooking but I do however make a lot of curries — spicy curries for my husband and yellow curries for my children. My husband prefers frying the fish prior to adding it to the gravy so sometimes I pan-fry the fish in very little oil just for him. For this recipe, you can either pan-fry the fish steaks and add it to the gravy for better flavour or just throw them in without doing a thing – the curry will still taste great either way!

I usually purchase Red Snapper steaks from the Sri-Lankan grocery store to make fish curry but really any white-flesh fish would work in this recipe. Maybe this is just a personal preference but I find that the aroma of Red Snapper blends nicely with the fenugreek seeds so it is always the go-to fish for curry. This Sri-Lankan style curry is full of flavour – It is spicy and sour with a hint of sweetness from the coconut milk that is called for in the recipe.


Fish Curry RECIPE:


  • 1 lb red snapper steaks, cleaned
  • 1/2 tsp turmeric
  • 1/2 tsp curry powder
  • salt to taste
  • 2 Tbsp oil for frying
  • 7 shallots, minced
  • 1 medium tomato, chopped
  • 2 sprigs curry leaves
  • 2 green chillies, slit
  • 2 garlic cloves, thinly sliced
  • 1 cm piece ginger, grated
  • 1 1/2 Tbsp of roasted curry powder (can be found in Sri-Lankan grocery stores)
  • 1/2 tsp fenugreek seeds
  • 1/4 tsp black mustard seeds (optional)
  • cherry size piece of tamarind
  • 1/2 cup of warm water
  • 200ml of coconut milk
  • salt to taste
  • black pepper to taste


  1. In a bowl, combine the Red Snapper steaks, turmeric, 1/2 tsp curry powder, and salt. Make sure to coat the fish pieces evenly in all the spices.
  2. Add the tamarind to the warm water to make tamarind juice. When the tamarind is soaked in water, it softens. Using your hands squeeze the tamarind pulp until only the hard outer part is left. Reserve the tamarind juice only and discard any solid that is left.
  3. Heat the oil on medium-high heat. Add the shallots, fenugreek seeds, black mustard seeds, and curry leaves. Sauté until the shallots turn soft and translucent. Add the garlic, ginger, green chillies, and cook for an additional two minutes, stirring often to prevent burning.
  4. Add the tomatoes, and curry powder. Cook until the tomatoes turn soft and the oil starts separating from the rest of the contents in the pot. Add the tamarind juice and cook for another five minutes.
  5. Turn the heat down to medium-heat and add the coconut milk. Bring the contents of the pot to a boil before adding the fish pieces. Cover the pot and let the fish simmer for twenty minutes or until it turns white and can easily be flaked with a fork. Stir occasionally, taking care not to break the pieces of fish.
  6. Add salt and black pepper to taste. Serve warm with your choice of sides.




  • Relatively low in fat and calories, fish is a great choice of protein for families looking to eat healthier.
  • If you choose to pan-fry the fish before adding it to the gravy, simply fry each piece until golden brown on each side and let it finish cooking in the gravy.

If you try this recipe, please leave me a comment below. Your feedback, whether it is positive or negative, is really important to me as it helps me improve the recipes that I put out.

Leave a Reply

Your email address will not be published. Required fields are marked *