Fish Curry


Discover a simple Fish Curry recipe featuring an aromatic onion-tomato masala and basic spices. Delicately cooked fish achieves a tender yet crispy texture, immersed in a richly flavored curry. Topped with garnishes for added texture and vibrancy, this dish has been meticulously tested for perfection!

Preparation time: 5 min
Cooking time: 45 min
Resting time: N/A
Total time: 50min
Serves: 4


Marinated Fish:

  • 1/2 teaspoon red chili powder or cayenne pepper
  • 1 teaspoon carom seeds (ajwain), optional but highly recommended
  • 1/4 teaspoon turmeric powder
  • 1 teaspoon lemon juice
  • 1 pound firm-fleshed white fish (such as cod, halibut, or tilapia), patted dry and cut into 2-3″ pieces
  • 3/4 teaspoon kosher salt

Fish Curry:

  • 2 ripe tomatoes (approximately 250 grams, such as Roma/plum), finely chopped
  • 1/2 teaspoon turmeric powder
  • 1 teaspoon coriander powder
  • 1/3 cup + 2 tablespoons avocado oil or other neutral oil, divided
  • 1 teaspoon Kashmiri chili powder (or mild chili powder, substitute paprika)
  • 1/2 teaspoon red chili powder or cayenne pepper (optional, for extra heat)
  • 7 garlic cloves, finely chopped
  • 1-inch piece ginger, finely chopped
  • 1 teaspoon cumin powder
  • 1 1/2 teaspoons kosher salt
  • 2 medium yellow onions (approximately 380 grams), finely chopped

To Finish:

  • 3-5 Thai or bird’s eye green chili peppers, either whole or vertically sliced in half
  • 1/4 teaspoon freshly ground black pepper
  • 1-2 tablespoons ginger, julienned
  • 3 tablespoons cilantro leaves, finely chopped
  • 1-2 teaspoons lemon juice


  1. In a bowl large enough to accommodate the fish, mix together the carom seeds, red chili powder, turmeric, and salt. Coat the fish pieces with this mixture. Sprinkle lemon juice over them and mix well. Set aside.
  2. Heat 1/3 cup of oil in a large pan over medium-high heat. Add the onions and sauté, stirring frequently, until they turn deeply golden, about 18 minutes. Deglaze the pan with 1/4 cup of water. Add the garlic and ginger, and continue to sauté for another 2 minutes until fragrant. The onions will further deepen in color. Deglaze again with 2 tablespoons of water. As the water evaporates, add the coriander, cumin, Kashmiri chili powder, red chili powder (if using), turmeric, and salt. Stir well to release the aroma of the spices.
  3. Incorporate the tomatoes and sauté until they meld into the masala and the oil separates, about 5 minutes. Pour in 1 cup of water and bring the curry to a simmer. Reduce the heat to medium, cover, and let it simmer while you prepare the fish.
  4. Meanwhile, heat a nonstick skillet over medium-high heat and add the remaining 2 tablespoons of oil. Spread the oil across the pan. Once hot, place the fish pieces in the skillet in a single layer. Pan-fry for 4 minutes on each side until they are fully cooked and golden brown. The exact cooking time depends on the thickness of the fillet. If you have a meat thermometer, ensure the internal temperature reaches 145℉. Turn off the heat.
  5. Remove the cover from the curry and increase the heat to sauté to evaporate excess water until you see the oil separating. Add 1/4-1/2 cup of water, depending on the desired consistency of the curry, and let it come to a simmer. Transfer the cooked fish pieces to the simmering curry.
  6. Reduce the heat to low. Let the flavors blend for 2-3 minutes while you garnish with green chili peppers, black pepper, julienned ginger, cilantro, and lemon juice. Serve immediately with naan, roti, or your preferred bread.

To ensure the fish stays tender and moist, avoid overcooking it. Cook the fish just until it reaches an internal temperature of 145°F (63°C) for optimal texture and flavor. Additionally, if you prefer a milder curry, you can adjust the amount of red chili powder or cayenne pepper according to your taste preferences. Enjoy experimenting with different spices to customize the dish to your liking!

Nutritional Info:
Calories: 224
Carbs: 9g
Protein 24g
Fat 11g

Recipe rating

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first.

Related Articles