• 500g fish fillets, cut into chunks (use a firm fish like tilapia, cod, or salmon)
  • 1 large onion, finely chopped
  • 2 tomatoes, chopped
  • 2 green chilies, slit lengthwise
  • 4-5 garlic cloves, minced
  • 1-inch piece of ginger, grated
  • 1/2 teaspoon turmeric powder
  • 1 teaspoon red chili powder
  • 1 teaspoon coriander powder
  • 1/2 teaspoon cumin seeds
  • 1/2 teaspoon mustard seeds
  • A few curry leaves
  • 1 cup coconut milk
  • 2 tablespoons vegetable oil
  • Salt to taste
  • Fresh cilantro leaves, chopped (for garnish)
  • Cooked rice or Indian bread (such as naan or roti) for serving


  1. Prepare the Fish:
    • Clean the fish fillets, remove scales and bones, if any. Cut them into chunks and marinate with a pinch of salt and turmeric powder. Set aside while you prepare the other ingredients.
  2. Heat Oil and Temper Spices:
    • In a large pan or pot, heat the vegetable oil over medium heat. Add cumin seeds and mustard seeds. Let them splutter.
  3. Add Aromatics:
    • Add finely chopped onion and sauté until translucent. Add minced garlic and grated ginger. Sauté for a couple of minutes until the raw smell disappears.
  4. Add Spices:
    • Add turmeric powder, red chili powder, and coriander powder. Mix well and cook for a minute or two until the spices are fragrant.
  5. Add Tomatoes and Green Chilies:
    • Add chopped tomatoes and green chilies. Cook until the tomatoes turn soft and the oil begins to separate from the masala.
  6. Add Coconut Milk:
    • Pour in the coconut milk and stir the mixture. Let it simmer for a few minutes, allowing the flavors to meld together.
  7. Add Fish and Simmer:
    • Gently slide the marinated fish chunks into the simmering curry. Be careful not to break the fish pieces. Cook for about 5-7 minutes or until the fish is cooked through. Fish cooks relatively quickly, so keep an eye on it.
  8. Season and Garnish:
    • Season the curry with salt according to your taste. Add curry leaves for an extra layer of flavor. Mix gently. Simmer for another couple of minutes.
  9. Garnish and Serve:
    • Remove the curry from heat. Garnish with freshly chopped cilantro leaves.
  10. Serve:
    • South Indian Fish Curry is traditionally served hot with steamed rice or Indian bread (naan or roti). Enjoy the flavorful and aromatic South Indian delicacy!

Feel free to adjust the spiciness according to your preference. Enjoy your delicious homemade South Indian Fish Curry!