Fish Curry
Tender fish simmered in a gently spiced onion, tomato, and coconut gravy. This homestyle Indian fish curry is comforting, fragrant, and perfect with plain rice or soft roti as part of a simple meal.
For 4 servings
- prep · ~5 min
Season the fish pieces.
Rub the fish with half of the turmeric powder and a small pinch of the salt. Set aside while you prepare the curry base.
TIPHandle the fish gently so the pieces stay whole in the curry. - mix · ~2 min
Grind the coconut.
Blend the grated coconut with water for grinding into a smooth paste. Keep it ready for the gravy.
- saute · ~7 min
Cook the onion base.
1.Heat oil in a pan over medium heat.2.Add cumin seeds and let them sizzle for a few seconds.3.Add onion and green chili, then cook until the onion turns light golden, about 5 to 6 minutes.4.Add ginger-garlic paste and cook for 1 minute until the raw smell fades.TIPKeep the heat medium so the onion browns evenly without burning. - saute · ~6 min
Add tomato and spices.
1.Add tomato and cook until soft and pulpy, about 4 to 5 minutes.2.Stir in the remaining turmeric powder, red chili powder, coriander powder, and the rest of the salt.3.Cook the masala for 1 to 2 minutes until fragrant. - simmer · ~7 min
Make the curry gravy.
Add the ground coconut paste, tamarind paste, and water for curry. Mix well and bring to a gentle simmer for 5 minutes so the flavors come together.
- simmer · ~8 min
Cook the fish in the gravy.
Slide the fish pieces into the simmering gravy in a single layer. Cover and cook on low heat for 6 to 8 minutes, gently shaking the pan once or twice, until the fish is just cooked through.
TIPAvoid stirring with a spoon after adding the fish or the pieces may break. - garnish · ~2 min
Finish with coriander leaves.
Sprinkle chopped coriander leaves over the curry and let it sit for 2 minutes before serving.
- serve
Serve the fish curry hot.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Choose a firm fish like seer, cod, halibut, or snapper so the pieces hold their shape in the gravy.
- 2Grind the coconut very smooth; a coarse paste can make the curry feel grainy instead of silky.
- 3Cook the onion only to light golden, not dark brown, to keep the curry mild and balanced.
- 4Let the tomato masala turn soft and pulpy before adding liquids, or the gravy can taste raw and sharp.
- 5Once the fish goes in, keep the gravy at a gentle simmer and shake the pan instead of stirring.
- 6Rest the curry for a few minutes after cooking so the tamarind, coconut, and spice flavours settle together.
- 7If making ahead, prepare the gravy first and add the fish only when reheating so it stays tender.
Adapt it for your goals.
Kerala-style
Add a few curry leaves while tempering the cumin and use coconut oil for a more coastal South Indian flavour.
low oilLow-oil
Reduce the oil slightly and cook the onion-tomato base a bit longer on medium-low heat to keep good flavour with less fat.
spicierSpicier
Increase the red chili powder or add an extra slit green chili if you want a hotter, more robust curry.
thinner gravyThinner-gravy
Add a little extra water after the coconut paste if you want a looser curry that pairs especially well with rice.
Why this is on our healthy list.
Protein-Rich Main Dish
Fish provides high-quality protein that makes this curry satisfying while still feeling lighter than many meat-based curries.
Includes Aromatic Spices
Turmeric, cumin, ginger, garlic, and coriander add flavour complexity along with plant compounds from whole and ground spices.
Tomato and Herb Freshness
Tomato, green chili, and coriander leaves bring freshness and useful antioxidants that brighten the rich coconut gravy.
Frequently asked questions
Use firm fish that will not flake apart too easily, such as seer fish, snapper, cod, halibut, or similar medium-firm fillets or steaks.



