introduction
I grabbed a fillet from the freezer on a frantic Tuesday night, juggling homework questions and a soccer snack list, and I needed dinner to come together fast. I wanted something warm, a little exotic, and still kid-friendly—nothing too spicy, nothing fussy. This Authentic Indian Fish Curry fit the bill. It uses simple pantry spices, a quick onion-tomato base, and coconut milk if you want a creamy finish. The smell filled the kitchen while the kids set the table, and dinner felt like a little weekday treat instead of a scramble. If you want a family meal that looks and tastes special without a lot of stress, this curry becomes a reliable go-to that you can easily adjust to your family’s tastes.
why make this recipe
Make this recipe because it’s fast, flavorful, and family-friendly. It uses basic spices many people already have. The curry works with mild white fish like cod or tilapia, which kids tend to like. It cooks quickly, so it fits weeknight schedules. You get a warm, spiced sauce that pairs well with rice or roti and can be made milder or hotter depending on who eats it. If you want a curry that feels homemade and comforting without a long ingredient list or complicated steps, this is a smart choice for busy families and cooks who want good flavor with little stress.
how to make Authentic Indian Fish Curry
Start by heating oil and popping cumin seeds so they release their aroma. Sauté onion, garlic, and ginger until the onion softens and turns golden. Add the chopped tomatoes and the ground spices—turmeric, coriander, garam masala, and chili powder—then cook until the tomatoes break down into a saucy base. If you like a creamier curry, stir in the coconut milk and let it warm through. Gently nestle the fish pieces into the simmering sauce and cook just until the fish flakes easily. Finish with fresh cilantro. The trick is to build flavor in the sauce first and to cook the fish gently so it stays tender.
Ingredients :
500g fish (e.g., cod or tilapia), 2 tablespoons vegetable oil, 1 onion, finely chopped, 2 cloves garlic, minced, 1 tablespoon ginger, grated, 2 tomatoes, chopped, 1 teaspoon turmeric powder, 1 teaspoon cumin seeds, 1 teaspoon coriander powder, 1 teaspoon garam masala, 1 teaspoon chili powder (adjust to taste), Salt to taste, Fresh cilantro for garnish, 1 cup coconut milk (optional)
Directions :
- Heat oil in a pan over medium heat. Add cumin seeds and let them sizzle., 2. Add chopped onions, garlic, and ginger. Sauté until the onions are golden brown., 3. Add chopped tomatoes, turmeric powder, coriander powder, garam masala, chili powder, and salt. Cook until the tomatoes are soft., 4. If using, pour in coconut milk and bring to a simmer., 5. Gently add the fish pieces to the curry and cook for about 10-15 minutes, until the fish is cooked through., 6. Garnish with fresh cilantro and serve with rice or roti.
how to serve Authentic Indian Fish Curry
Serve the curry hot over steamed basmati rice for a classic meal. You can also offer warm rotis or naan for scooping. For kids, a side of plain yogurt or cucumber raita cools the plate and balances spices. Add a wedge of lemon or lime so people can brighten their serving if they like. Arrange one or two sprigs of cilantro on top for a fresh look—great for photos if you plan to pin the dish. Keep portions modest for kids and let adults add extra chili or lemon.
how to store Authentic Indian Fish Curry
Cool the curry to room temperature within an hour and transfer to an airtight container. Store in the refrigerator for up to 2 days. For longer storage, place cooled curry in a freezer-safe container and freeze for up to 2 months. Thaw overnight in the fridge before reheating. Reheat gently on the stove over low heat so the fish does not overcook; add a splash of water or coconut milk if the sauce has thickened. Do not freeze and reheat more than once.
tips to make Authentic Indian Fish Curry
- Choose firm white fish like cod, tilapia, or haddock so it holds shape while cooking.
- Toast cumin seeds just until they sizzle to release flavor, but don’t burn them.
- Cook tomatoes until soft and breaking down—this gives the sauce body and reduces raw tomato taste.
- If you use coconut milk, add it after the spices cook so it stays creamy and doesn’t separate.
- Gently stir the fish only when needed to keep pieces intact.
- Taste and adjust salt and chili before adding fish, since the fish cooks fast and won’t absorb changes easily.
- For a smoother sauce, briefly blend the tomato-onion mixture before returning to the pan (optional).
variation (if any)
- South Indian style: Add a teaspoon of mustard seeds and a few curry leaves at the start for a distinct flavor twist.
- Tangy version: Stir in a teaspoon of tamarind paste or a squeeze of lemon for brightness.
- Veggie boost: Add cubed potatoes or spinach to the sauce and cook until tender for more bulk.
- Coconut-free: Skip the coconut milk for a lighter tomato-based curry.
- Spicy: Increase chili powder or add fresh green chilies sliced into the sauce.
FAQs (minimum three FAQ)
Q: Can I use frozen fish for this curry?
A: Yes. Thaw the fish completely and pat dry before adding to the curry. Thawing helps the fish cook evenly and prevents excess water from diluting the sauce.
Q: How do I prevent the fish from falling apart?
A: Use firm fish and add it gently to simmering sauce. Cook on low to medium heat and avoid stirring too much. Check doneness after about 8–10 minutes, depending on fillet thickness.
Q: Is coconut milk necessary?
A: No. Coconut milk gives a creamier, milder curry. If you prefer a lighter or tangier curry, skip it and let the tomato and spice base carry the flavor.
Q: Can I make this curry ahead for company?
A: Yes, you can make the sauce ahead and refrigerate it without the fish. Reheat the sauce and add fresh fish when you’re ready to serve so the fish stays tender and doesn’t overcook.
Q: What side dishes go well with this curry?
A: Steamed basmati rice, plain rotis, cucumber raita, and a simple salad or sautéed greens all pair nicely and balance the spices.
Conclusion
If you want another take on a fish curry with clear step-by-step photos and a South Indian touch, check this South Indian Fish Curry – Caramel Tinted Life recipe for inspiration and ideas.

Authentic Indian Fish Curry
Ingredients
Method
- Heat oil in a pan over medium heat. Add cumin seeds and let them sizzle.
- Add chopped onions, garlic, and ginger. Sauté until the onions are golden brown.
- Add chopped tomatoes, turmeric powder, coriander powder, garam masala, chili powder, and salt. Cook until the tomatoes are soft.
- If using, pour in coconut milk and bring to a simmer.
- Gently add the fish pieces to the curry and cook for about 10-15 minutes, until the fish is cooked through.
- Garnish with fresh cilantro and serve with rice or roti.