Indian Fish Curry has always been my go-to comfort food, especially on a chilly evening. I remember my aunt making it when I was a kid; the whole house would fill with the most incredible aroma of toasted spices and creamy coconut milk. It felt so exotic and special! This recipe is my attempt at capturing that magic, and I’ve finally perfected my own version of an authentic Indian fish curry that’s both simple and incredibly flavorful. If you’ve ever wondered how to make Indian fish curry that tastes like it came straight from a seaside restaurant, you’re in the right place. Get ready to impress yourself and your loved ones! Let’s get cooking!
Why You’ll Love This Indian Fish Curry
- The taste is absolutely divine – rich, creamy, and bursting with fragrant spices that will transport your taste buds.
- It’s surprisingly quick to make, proving that an easy Indian fish curry can be a weeknight reality.
- Packed with lean protein and healthy fats from the coconut milk, it’s a guilt-free indulgence.
- This recipe is budget-friendly, using common pantry staples and affordable white fish.
- It’s a crowd-pleaser that even picky eaters will adore, making it perfect for family dinners.
- You’ll achieve a truly flavorful Indian fish curry that rivals restaurant versions, right in your own kitchen.
- The preparation is straightforward, making it accessible for cooks of all skill levels.
Ingredients for Authentic Indian Fish Curry
Gathering these ingredients is the first step to making a truly delicious fish curry with coconut milk Indian style. I find that having everything prepped makes the cooking process so much smoother.
- 500g firm white fish fillets (like cod, tilapia, or haddock) – choose a fish that holds its shape well.
- 2 tablespoons oil (vegetable or coconut oil) – coconut oil adds a lovely subtle sweetness.
- 1 medium onion, finely chopped – this forms the savory base of our gravy.
- 1 teaspoon ginger paste – fresh ginger adds a wonderful zing.
- 1 teaspoon garlic paste – essential for that aromatic depth.
- 2 green chilies, slit – adjust these based on how spicy you like your Indian Fish Curry.
- 1 large tomato, chopped – ripe tomatoes break down to create a richer sauce.
- 1 teaspoon ground turmeric – gives our curry its beautiful golden hue and earthy flavor.
- 1 teaspoon ground coriander – adds a warm, citrusy note.
- 1 teaspoon chili powder (adjust to taste) – for that extra kick!
- 1 teaspoon garam masala – this spice blend is added at the end for a final burst of fragrance.
- 1 cup coconut milk – the creamy richness of coconut milk is key to this dish.
- 1 tablespoon tamarind paste – provides a lovely tangy counterpoint to the richness.
- Salt to taste – season until it’s just right.
- Fresh cilantro, chopped (for garnish) – a bright, fresh finish.

How to Make Indian Fish Curry
Making a delicious Indian Fish Curry at home is more achievable than you might think! This recipe guides you through creating a truly authentic dish. Follow these steps for a fantastic meal.
- Step 1: Preheat your oven to 350°F (175°C). While the oven heats, prepare your fish. Gently wash the 500g firm white fish fillets under cool water and pat them thoroughly dry with paper towels. If you like, you can marinate the fish with a pinch of turmeric and salt for about 10–15 minutes. This helps it absorb flavor and firms it up nicely.
- Step 2: Heat 2 tablespoons of oil in a deep skillet or a heavy-bottomed saucepan over medium heat. Once the oil is shimmering, add the 1 medium onion, finely chopped. Sauté, stirring occasionally, until the onion is soft and golden brown, which usually takes about 6–8 minutes. This step is crucial for building a deep flavor base.
- Step 3: Stir in the 1 teaspoon ginger paste and 1 teaspoon garlic paste. Cook for another 1–2 minutes until they become wonderfully fragrant. Next, add the 2 green chilies, slit (if using), along with the 1 teaspoon ground turmeric, 1 teaspoon ground coriander, and 1 teaspoon chili powder. Stir constantly for about 30 seconds to let the spices bloom and release their aromas.
- Step 4: Add the 1 large tomato, chopped, to the skillet. Cook, stirring often, until the tomatoes break down and form a thick, rich paste with the spices. This usually takes around 5 minutes. This concentrated base is what gives our quick Indian fish curry its incredible depth.
- Step 5: Reduce the heat to low. Pour in the 1 cup coconut milk, stirring gently to combine everything smoothly. Stir in the 1 tablespoon tamarind paste and salt to taste. Let this mixture simmer gently for about 5–7 minutes, allowing the flavors to meld and the sauce to thicken slightly. The aroma at this stage is just heavenly!
- Step 6: Carefully nestle the prepared fish fillets into the sauce. Ensure they are mostly submerged. Cover the skillet or saucepan and let it simmer gently for 8–10 minutes, or until the fish is cooked through and flakes easily with a fork. Avoid overcooking the fish to keep it tender.
- Step 7: Stir in the 1 teaspoon garam masala and the fresh cilantro, chopped. This final touch adds a burst of freshness and aromatic warmth, making your homemade Indian fish curry truly special. Serve your delicious Indian Fish Curry immediately with steamed basmati rice or naan bread for a complete meal.
Pro Tips for the Best Indian Fish Curry
I’ve learned a few tricks over the years that elevate this dish from good to absolutely amazing. Follow these tips for a restaurant-quality curry every time.
- Always use firm white fish that won’t fall apart during cooking. Tilapia, cod, or haddock are excellent choices.
- Don’t rush the sautéing of the onions; caramelizing them deeply builds a crucial flavor foundation.
- Taste and adjust the seasoning before adding the fish. Tamarind and salt can vary, so get it right!
- A final simmer with garam masala and fresh cilantro right before serving makes all the difference.
What’s the secret to perfect Indian fish curry?
The true secret lies in building layers of flavor: properly sautéing the onions until golden, blooming the spices until fragrant, and balancing the richness of coconut milk with the tang of tamarind. This creates a truly traditional Indian fish curry.
Can I make Indian fish curry ahead of time?
Yes, you can prepare the gravy base (up to Step 5) a day in advance. Store it in an airtight container in the refrigerator. Gently reheat the gravy and then add the fish, cooking just until done. This makes for a wonderfully quick meal. For more recipe ideas, check out our latest recipes.
How do I avoid common mistakes with Indian fish curry?
A common pitfall is overcooking the fish, leaving it dry. Add the fish gently and cook just until it flakes. Another mistake is not sautéing the onions enough; a good golden-brown color is key for depth of flavor. Learn more about cooking techniques.
Best Ways to Serve Indian Fish Curry
This flavorful Indian Fish Curry is incredibly versatile and pairs beautifully with a variety of accompaniments. For a classic experience, serve it piping hot over fluffy basmati rice. The rice soaks up the delicious, spiced gravy perfectly. If you’re looking for something a bit different, consider serving it with warm naan bread or roti for dipping. For a lighter option, especially if you’re enjoying a dish reminiscent of a South Indian fish curry, a simple side of cucumber raita or a fresh kachumber salad adds a cooling contrast to the warmth of the spices. You can find more information on culinary terms here.

Nutrition Facts for Indian Fish Curry
Here’s a look at the approximate nutritional breakdown for one serving of this delicious Indian Fish Curry. It’s a great way to enjoy a flavorful meal that’s also quite nutritious. For more details on dietary information, please see our GDPR policy.
- Calories: 280
- Fat: 15g
- Saturated Fat: N/A
- Protein: 30g
- Carbohydrates: 8g
- Fiber: 2g
- Sugar: 3g
- Sodium: 380mg
Nutritional values are estimates and may vary based on specific ingredients used. For questions about our data, please contact us.
How to Store and Reheat Indian Fish Curry
Properly storing and reheating your delicious Indian Fish Curry ensures you can enjoy its wonderful flavors later. Once your curry has cooled down completely, transfer it into an airtight container. For the best quality, I recommend refrigerating it for up to 3 to 4 days. If you want to keep it even longer, this curry freezes beautifully. Pack it into freezer-safe containers or heavy-duty freezer bags, and it should last for about 3 months. This is a great way to have a quick and flavorful meal ready whenever you need it. Learn more about our privacy policy.
When you’re ready to reheat your Indian Fish Curry, you have a couple of easy options. On the stovetop, gently warm it in a saucepan over low heat, stirring occasionally, until heated through. If you’re in a hurry, you can also microwave it in a microwave-safe dish, stirring halfway through for even heating. Just be sure to reheat it thoroughly before serving.
Frequently Asked Questions About Indian Fish Curry
Can I make this Indian fish curry spicier?
Absolutely! If you love a fiery kick, you can easily make this an extra spicy Indian fish curry. I recommend adding more green chilies, perhaps a pinch of cayenne pepper along with the other spices, or even a dash of your favorite hot sauce stirred in at the end. Always taste as you go to find your perfect level of heat!
Is this Indian fish curry recipe healthy?
Yes, this recipe is quite healthy! It’s packed with lean protein from the fish and healthy fats from the coconut milk. By using plenty of spices and fresh ingredients, we keep added sugars and unhealthy fats low. This makes it a wonderful and satisfying healthy Indian fish curry option for a balanced diet. For more information on healthy eating, you might find resources on healthy eating guidelines useful.
What kind of fish is best for Indian fish curry?
The best fish for this curry are firm white fish fillets that hold their shape well during cooking. Think cod, tilapia, haddock, or even snapper. Avoid delicate, flaky fish like sole or flounder, as they can break apart too easily in the sauce. The key is a fish that can stand up to simmering.
Can I make this without coconut milk?
While coconut milk is traditional and provides wonderful creaminess, you can substitute it if needed. For a similar richness, you could use evaporated milk or even a dairy-free cashew cream. If you prefer a lighter curry, you can use a thinner coconut milk or even a bit of vegetable broth, though it won’t be quite as creamy.
Variations of Indian Fish Curry You Can Try
While this recipe offers a fantastic base, the world of Indian cuisine is vast and wonderfully diverse! Exploring different regional styles can bring exciting new flavors to your table. For instance, a Goan fish curry often features a vibrant red hue from dried Kashmiri chilies and a distinct tang from kokum. If you’re looking for something with a different texture, a Bengali fish curry might use mustard oil for a pungent kick and a thinner, soupy consistency. And a Kerala fish curry typically incorporates curry leaves and a touch of raw mango for a delightful sourness. You can also adapt this recipe for different dietary needs, like making it vegan by using firm tofu or paneer instead of fish.
Print
Perfect Indian Fish Curry: 500g Fish Simplified
- Total Time: 40 minutes
- Yield: Serves 4
- Diet: Gluten-Free
Description
This Indian Fish Curry is a comforting and authentic dish, perfect for weeknight dinners or special occasions. It features tender white fish simmered in a rich gravy of toasted spices, coconut milk, and tangy tamarind. The aroma of this curry will transport you to coastal India, offering a taste of tradition and warmth.
Ingredients
- 500g firm white fish fillets (like cod, tilapia, or haddock)
- 2 tablespoons oil (vegetable or coconut oil)
- 1 medium onion, finely chopped
- 1 teaspoon ginger paste
- 1 teaspoon garlic paste
- 2 green chilies, slit
- 1 large tomato, chopped
- 1 teaspoon ground turmeric
- 1 teaspoon ground coriander
- 1 teaspoon chili powder (adjust to taste)
- 1 teaspoon garam masala
- 1 cup coconut milk
- 1 tablespoon tamarind paste
- Salt to taste
- Fresh cilantro, chopped (for garnish)
Instructions
- Prep the Fish: Wash the fish gently under cold water and pat it dry. Optionally, marinate with a pinch of turmeric and salt for 10–15 minutes.
- Build the Flavor Base: Heat oil in a deep skillet or saucepan over medium heat. Sauté the chopped onion until soft and golden, about 6–8 minutes. Stir in the ginger and garlic paste, cook for 1–2 minutes until aromatic.
- Add Spices and Tomatoes: Add the green chilies, turmeric, coriander, and chili powder. Stir until spices bloom. Add the chopped tomato and cook until it forms a thick paste, about 5 minutes.
- Stir in Coconut Milk and Tamarind: Lower the heat. Pour in the coconut milk, stirring to combine. Add the tamarind paste and salt. Simmer gently for 5–7 minutes until fragrant and slightly thickened.
- Cook the Fish: Gently add the fish fillets to the curry. Cover and cook for 8–10 minutes, or until the fish flakes easily. Finish with garam masala and chopped cilantro.
- Serve Hot: Serve the Indian Fish Curry steaming hot with basmati rice or flatbread.
Notes
- You can substitute coconut milk with a thinner coconut cream for a richer texture.
- If using frozen fish, thaw completely and pat dry before cooking.
- This dish pairs well with cucumber raita or a crisp salad.
- Prep Time: 15 minutes
- Cook Time: 25 minutes
- Category: Main Dish
- Method: Stovetop
- Cuisine: Indian
Nutrition
- Serving Size: 1 serving (approximate)
- Calories: 280
- Sugar: 3g
- Sodium: 380mg
- Fat: 15g
- Saturated Fat: N/A
- Unsaturated Fat: N/A
- Trans Fat: N/A
- Carbohydrates: 8g
- Fiber: 2g
- Protein: 30g
- Cholesterol: N/A
Keywords: Indian Fish Curry, authentic Indian fish curry, South Indian fish curry, Goan fish curry, Bengali fish curry, Kerala fish curry, easy Indian fish curry, simple fish curry Indian style, spicy Indian fish curry, coconut milk fish curry Indian, how to make Indian fish curry, fish curry with coconut milk Indian, Indian spiced fish curry, quick Indian fish curry, best Indian fish curry recipe, what is Indian fish curry, healthy Indian fish curry, flavorful Indian fish curry, traditional Indian fish curry, homemade Indian fish curry