My love of curry, particularly fish curry often has me exploring the regional cuisine of India. The deft application of spices – whole, ground or lightly crushed, releases just enough of the oils to flavour a curry.

While spices are important to a curry, so too are the other ingredients. The liquid used to make the sauce as well as the aromatics help to complement the main ingredient. Today’s recipe features a curry that is light on spice but heavy on the sour with just enough heat to have you going back for more. The juiciness of the tomatoes adds a touch of umami to the curry. This hot and sour curry is cooked in the style of a Madras fish curry.

You can use any firm flesh fish for this curry – bone in or filleted and cut into large chunks. It matters not whether it is skin fish for scaled fish; however, note that different fish cook at varying times, and bone in fish needs a little longer to cook than boneless fish.

This curry calls for fresh curry leaves and though they add a particular flavour to the curry, it is not absolutely necessary. I have made this curry several times without curry leaves and while the flavour profile is different, it is equally delicious without the curry leaves.


  • Madras-style Fish Curry (Photo by Cynthia Nelson)

    3 tablespoons oil

  • 1 tablespoon yellow mustard seeds
  • 1 heaped cup finely chopped onions
  • 3 large cloves garlic, minced to a paste
  • A handful of fresh curry leaves (if using)
  • 2 teaspoons chili powder (see notes below)
  • 2 teaspoons ground turmeric
  • 2 teaspoons coriander powder
  • 1 pound tomatoes, finely chopped or sliced thinly
  • ½ cup tamarind water/liquor (see notes below)
  • 4 – 6 green chilies or regular hot peppers, sliced thinly
  • Salt to taste
  • 2 pounds fish fillets cut into large chunks or 2 pounds bone-in fish, cut up, washed, and pat dry


  1. Add oil to a large pan such as a karahi and place over medium heat. When the oil is hot, add the mustards seeds and cook just until the seeds start to pop.
  2. Add onions and garlic, stir in with mustard seeds and reduce heat to low and cook until the onions and garlic are softened.
  3. Raise heat to medium and add curry leaves (if using) as well as chili powder, turmeric and coriander powder. Cook for 2 – 3 minutes then add tomatoes, hot peppers and tamarind water along with salt to taste. Cook the mixture uncovered for 4 minutes then reduce heat to low and cook for 10 – 12 minutes (still uncovered), or until the tomatoes are softened and the sauce is thick and reduced almost by half.
  4. Raise heat to medium and add fish nestling it into the sauce; cook for 5 – 7 minutes or until fish is cooked through. Taste for seasoning and add salt if necessary. Shut off heat and let rest for 5 minutes before serving.


  • If you have Kashmiri chili powder use that as it gives a rich colour to the curry without the heat, however, if you don’t, use regular chili powder but you may have to adjust the amount of fresh hot pepper.
  • The tamarind water/liquor is a thin mixture of the thick pulp of the tamarind with water to make it thin and water-like. This is the key souring agent for the curry with support from the tomatoes.
  • Do not skimp on the tomatoes as they add excellent flavour to the curry. If you like, puree the tomatoes and then add it to the curry at direction # 3 (pass it through a sieve if you like).
  • Once the fish is added to the curry do not stir the curry, as that will cause the fish to break and fall apart, therefore, when you add the fish, settle it into the sauce and spoon some of the sauce over it to smother the fish.

Around the Web