This authentic Indian fish curry features tender fish simmered in a coconut and tomato based sauce infused with aromatic spices. The curry is rich and flavorful, so it pairs perfectly with plain steamed rice. Its a delicious comfort meal.
Mom’s Indian Fish Curry
This is my mom’s fish curry. She was famous for it, and it holds a special place in my heart. It is more than just a recipe, as this has been a constant presence throughout my childhood, filling our home with comforting aromas.
I've shared my mom's recipes, such as dal, roasted okra, paratha, and eggplant side dish. But this fish curry stands out with its extraordinary flavors. The combination of spices, tender fish, and a coconut-based sauce is so delicious.
The tangy taste of tomatoes and tamarind blends well with the rich sweetness of coconut, resulting in a very satisfying flavor. And the tomatoes and Kashmiri chili powder give this curry a vibrant appearance.
Key Ingredient Notes
- Fish: Choose tender yet firm fleshed varieties that hold up well in the curry, such as salmon, trout, haddock, snapper, bass, cod, barramundi, halibut or mahi mahi. White fish is mild and absorbs the flavors better. Darne cut (steak) or 3-inch fillets are recommended. Avoid using delicate fish.
- Full-Fat Coconut Milk: Adds creaminess and richness. You can substitute it with cashew paste, but the taste will be different.
- Dried Coconut: Adds a rich texture and flavor. Use desiccated coconut or flakes. If you want to skip this, increase the coconut milk.
- Tamarind Paste (or Lemon Juice): Adds a sour taste. Ready-made pastes and concentrates are available online or at Indian grocery stores. Use concentrated tamarind paste in very small amounts. Checkout other possible substitutes.
- Tomato Sauce: This adds consistency, nice color and a tangy taste. Substitute with tomato paste diluted with water, or fresh chopped tomatoes.
- Fenugreek Seeds: This is important for the distinct flavor it adds to the fish curry. Use kasuri methi (dried fenugreek leaves) as an alternative to fenugreek seeds.
- Other Spices: For the spices added to the sauce, you can choose ground powders if you don't have the seeds.
- Curry Leaves: These give an aroma characteristic to Indian recipes.
- Kashmiri Chili Powder: For vibrant red color and mild heat. But you can use regular chili powder.
- Garam Masala (Optional): Not traditional. Add a pinch for a subtle flavor.
My Top Tips
Use a shallow and wide cooking dish to cook the curry. This helps with preventing the fish pieces from breaking up while stirring.
Frying the fish ahead is optional but can help reduce the smell. Pat the fish dry, season with salt, chili powder, and turmeric, and fry in a heated skillet with oil. Only sear the top of the fish on both sides at high temperature, and don’t cook it through.
How To Serve
- Rice: Fish curry is best with steamed rice but you can also serve it with vegetable pulao.
- Naan or Roti: Pair the fish curry with freshly baked naan or soft roti, perfect for scooping up the curry.
- Accompaniments: Add Indian tomato cucumber salad or onion salad to serve alongside the fish curry.
More Indian Recipes
- Sauteed Spicy Shrimp
- Chicken Curry (With Coconut Sauce)
- Keema (Hyderabadi Ground Beef Curry)
- Tomato Curry With Eggs (Hyderabadi Tamatar Ka Kut)
★ DID YOU MAKE THIS RECIPE? PLEASE COMMENT AND GIVE IT A STAR RATING BELOW!
Indian Fish Curry (With Coconut)
Ingredients
- 2 teaspoons coriander seeds or ground coriander
- 1 teaspoon cumin seeds or ground cumin
- ¼ teaspoon fenugreek seeds
- ¼ cup dried coconut desiccated or flakes
- ¼ cup avocado oil peanut oil or olive oil
- 1 large onion chopped, approximately 2½ cups
- 2 teaspoons grated ginger
- 2 teaspoons grated garlic
- 2 cups tomato sauce or ¾ cup tomato paste diluted with water or 2 chopped tomatoes
- ¾ teaspoon mustard seeds
- ¾ teaspoon cumin seeds
- ¼ teaspoon fenugreek seeds or 1 tablespoon kasuri methi
- 8 to 10 curry leaves
- 1½ teaspoons Kashmiri chili powder adjust to taste, see note
- ½ teaspoon turmeric
- ½ teaspoon salt adjust to taste, may need ¾ tsp
- 2 green chilies slit and remove seeds to reduce pungency
- 1 tablespoon tamarind paste concentrated (so less amount is needed) or lemon juice
- 1½ cups water
- 1 pinch garam masala optional
- 1½ lbs fish firm fleshed variety, darne cut (steak) or 3-inch fillets
- â…“ cup full-fat coconut milk
- 3 tablespoons chopped cilantro
Instructions
- In a cast-iron casserole dish or wide saute pan, toast the coriander seeds, cumin seeds, and fenugreek seeds until aromatic, about 2 minutes. Transfer the seeds to a spice grinder, add dried coconut, and grind the mixture to a fine powder.
- Add 1½ tablespoons of oil to the dish or pan and heat it over medium-high heat until shimmering. Add the chopped onions and saute until light golden brown and translucent, about 10 minutes. Add the grated ginger and garlic, and cook for an additional minute until fragrant.
- Transfer the cooked onions to a food processor. Add the tomato sauce or chopped tomatoes to the food processor and process until the mixture is smooth but slightly coarsely.
- Add the remaining oil to the dish and heat it over medium-high. Add the mustard seeds, cumin seeds, and fenugreek seeds. When the seeds begin to splutter, add the curry leaves and cook until aromatic, taking care not to burn the seeds, approximately 1 minute.
- Add the ground onion and tomato mixture to the dish and stir. Then add chili powder, turmeric, ½ teaspoon salt, green chilies, and half of the ground seed-coconut powder. Cook the mixture until it starts to bubble at the edges of the pot, stirring occasionally, about 2 minutes.
- Stir in the tamarind paste, 1½ cups of water (adjust as needed), and garam masala (if using). Cover the dish with a lid, reduce the heat, and let it simmer for 20 to 30 minutes, stirring occasionally, until the sauce thickens. Adjust the tamarind, spices, and seasonings according to taste.
- The consistency of the sauce should be similar to pasta sauce. Adjust with water if needed. Some oil will start to rise to the surface. Add the coconut milk, remaining ground seed-coconut powder, stir and cook for 1 minute.
- Carefully slide in the fish pieces. Gently swirl the dish to incorporate the ingredients, cover and let it simmer for 10 minutes until the fish turns almost opaque, is tender and flaky. Cooking time will vary based on the thickness and type of fish.
- Add half of the chopped cilantro and let it simmer for another 5 minutes until more oil trickles to the surface. Avoid stirring too much to prevent breaking the fish. Garnish with remaining cilantro and serve it hot with steamed rice.
Notes
- Adjust the amount of water added to the sauce based on the dish or pan being used. There is more evaporation when using a wide cast-iron dish. Start with 1 cup of water if using a different dish.
- Fish
- Darne cut (steak cut) is traditional for Indian fish curry. Bone-in fish holds the pieces better, but medium size pieces of boneless fish or fish fillet will work.
- Adjust the cooking time based on the change in color (opaque) and texture (flakiness) of the fish. Do not overcook fish, or it will disintegrate into the sauce.
- Coconut: If you want to skip dried coconut, increase the coconut milk. If choosing only one coconut product, you can use ½ cup of coconut milk, dried coconut (ground into a fine powder), or fresh coconut (ground into a paste).
- Tamarind
- Tamarind puree can be made by soaking dried tamarind in water, squeezing out the pulp, and discarding the seeds and fibers.
- Ready-made pastes: Use a small amount as they are concentrated, and can make the curry very dark and intensely sour if you are not careful. Adjust the quantity as the sour taste develops while cooking. I start with 2 teaspoons and add more as needed.
- A substitute for tamarind can be made by combining equal amounts of tomato ketchup and white vinegar. Check for other possible substitutes.
- Storage tips, Variations and FAQs below.
Nutrition
Make Ahead and Storage
- Make Ahead: The flavors of this fish curry tend to develop and intensify over time, making it even more delicious when made ahead. You can make the curry sauce in advance and refrigerate for 3 days.
- Storage: Refrigerate in an airtight container for up to 3 days. Store for up to 3 months in a freezer-safe container.
- Reheating: Thaw overnight in the fridge. Gently reheat on the stove or in the microwave, adding water or coconut milk to adjust consistency if necessary. Be cautious not to overcook the fish.
Variations
This Indian fish curry is gluten free, high protein, low carb, dairy free, nut free, egg free, grain free, and soy-free. Here are a few variations you can explore.
- Add Vegetables: You can choose bell peppers or peas. Sauté the vegetables along with the onions or cook them separately before adding them to the curry.
- Without Coconut: Simply omit the coconut milk and dried coconut from the recipe. You could use cashew paste to enrich the sauce.
Can I use frozen fish for this curry?
Yes, you can use frozen fish for the curry. Make sure to thaw it well before cooking. Pat the fish dry with a paper towel to remove any excess moisture before adding it to the curry.
Leave a Comment