Indulge in the rich flavors of this authentic Indian Fish Curry, featuring tender fish, aromatic spices, and a luscious coconut-infused sauce. It's a comforting and delicious dish that pairs perfectly with plain rice, making it ideal for weeknight dinners or festive menus.
Table of Contents
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 remarkable recipes, such as dal, roasted okra, paratha, eggplant side dish, etc, each bearing the imprint of my mom's touch. But this fish curry stands out with its extraordinary flavors. The combination of spices, tender fish, and a soul-warming coconut-based sauce creates an incredibly delicious experience.
Choosing the right fish is crucial. Look for a tender yet firm variety that holds its shape in the flavorful curry sauce. It forms the foundation of the dish.
To achieve optimal seasoning, pay attention to the preparation of the spices. The tangy notes from tomatoes and tamarind blend with the rich sweetness of coconut, resulting in a satisfying flavor profile.
Just a bowl of warm plain rice is all you need to enjoy this curry. Its richness and depth also make it suitable for festive occasions. The vibrant red hue from tomatoes and Kashmiri chili powder, along with a sprinkle of fresh green cilantro, create a visually appealing dish that matches its incredible taste.
Now, let me share this Indian fish curry with you - a meal made with heart and soul. And a treasured heirloom!
Here's what you'll need for the Indian fish curry.
- Coriander Seeds and Cumin Seeds: Substitute with ground powders.
- Fenugreek Seeds: Infuses a distinct flavor, especially desirable for fish curry.
- Dried Coconut: Adds a rich texture and flavor. Use desiccated coconut or flakes based on availability. If you want to skip this, increase the coconut milk or vice-versa. Substitute with ground cashews.
- Cooking Oil: I use avocado oil, but you can try other oils such as peanut oil or olive oil.
- Yellow Onion: Onions form the base of the curry, providing a sweet and savory foundation.
- Ginger and Garlic: These add a pungent and vibrant taste.
- Tomato Sauce: Helps create a tangy and slightly sweet base. Substitute with tomato paste diluted with water, or fresh chopped tomatoes.
- Mustard Seeds, Cumin Seeds, and Fenugreek Seeds: These are used for tempering and infusing the curry with their unique flavors. Use kasuri methi (dried fenugreek leaves) as an alternative to fenugreek seeds.
- Curry Leaves: These contribute an aroma characteristic to Indian recipes.
- Kashmiri Chili Powder: Provides vibrant red color and mild heat. Adjust per taste.
- Turmeric: Adds a warm yellow hue and a subtle earthy flavor.
- Green Chilies: Adds a spicy kick to the curry. Remove the seeds to reduce pungency.
- Tamarind Paste (or Lemon Juice): Adds a sour element to balance the other flavors. Ready-made pastes and concentrates are available online or at Indian and Asian grocery stores. Use concentrated tamarind paste in small amounts. Checkout other possible substitutes.
- Salt: Adjust to taste.
- Garam Masala (Optional): Not traditional. Add a pinch for a subtle flavor.
- Fish: Opt for firm fleshed varieties that hold up well in the curry, such as salmon, trout, haddock, snapper, bass, cod, barramundi, halibut or mahi mahi. Darne cut (steak) or 3-inch fillets are recommended.
- Full-Fat Coconut Milk: Adds creaminess and richness. Look for a quality brand. You can find chaokoh brand at Indian stores. Substitute with cashew paste.
- Cilantro: Adds a burst of freshness and color.
How to Make Indian Fish Curry
**Here's a brief overview of the step-by-step process. For the complete recipe, please refer to the end of this blog post.
- Toast the spice seeds and grind it with dried coconut to a fine powder.
- Saute onions until golden brown, add ginger and garlic, and cook until fragrant.
- Process cooked onions and tomato sauce until slightly coarse.
- Toast mustard seeds, cumin seeds, and fenugreek seeds in oil, add curry leaves and cook until aromatic. Add onion-tomato mixture.
- Add chili powder, turmeric, salt, green chilies, and half of the ground seed-coconut powder and cook.
- Add tamarind, water, and simmer until sauce thickens, adjusting seasonings as needed.
- Add coconut milk, remaining ground seed-coconut powder, and cook. Slide fish pieces into the sauce, some cilantro and simmer.
- Simmer until oil trickles to the surface. Garnish the Indian fish curry with cilantro.
Here are some expert tips for a perfect Indian fish curry.
Choose the Right Fish: Opt for firm fleshed fish varieties like salmon, trout, haddock, snapper, bass, cod, etc, for best results. These types of fish hold up well in the curry and absorb the flavors beautifully. Avoid using delicate fish, as they may not hold their shape during cooking.
Fry the Fish for Extra Flavor: Although optional, frying the fish before adding it to the curry can enhance its taste and texture. Pat the fish dry and season it with salt, chili powder, and turmeric. Sear it briefly on both sides in a hot skillet with oil, creating a delicious crust that adds depth to the dish.
Find the Perfect Balance of Sourness: Tamarind paste or lemon juice adds tanginess to the curry. Start with a small amount and adjust according to your preference. Remember that the sourness will develop as the curry cooks, so it's best to taste and add more if needed.
Don't Overcook the Fish: Be mindful of the cooking time for the fish to prevent it from becoming dry or breaking apart. Simmer the fish until it turns opaque, with the cooking time varying depending on the thickness and type of fish. The fish should be tender and flaky, but not overcooked.
Let the Flavors Develop: Allow the curry to simmer on low heat for at least 20 to 30 minutes, stirring occasionally. This allows the flavors to meld together and creates a rich and thick curry sauce. Adjust the seasonings as needed.
Wide pan: Use a shallow and wide cooking dish to cook the curry. This ensures better control in retaining the integrity of the fish pieces.
Onions: "Finely" chopped onions can be sauteed instead of blending for a more textured sauce.
How To Serve
Here are some serving suggestions for fish curry.
- Steamed Rice: Serve the aromatic Indian fish curry over a bed of fluffy steamed rice for a comforting meal.
- Naan or Roti: Pair the fish curry with freshly baked naan or soft roti, perfect for scooping up the curry.
- Vegetable Pulao: Try a side of vegetable pulao for a flavorful and nutritious meal.
- Accompaniments: Add Indian tomato cucumber salad or onion salad to serve alongside the fish curry. Serve crispy papadums as a satisfying accompaniment.
Meal Prep, Make Ahead and Storage
- Meal Prep: Prepare the curry in advance and refrigerate for 3 days. Cook extra and divide into meal containers for convenient meals during the week. Prepare fish separately and add to the curry just before serving to maintain its texture.
- Make Ahead: The flavors of the Indian fish curry tend to develop and intensify over time, making it even more delicious when made ahead. Prepare it a day before to allow the ingredients to meld together.
- 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.
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.
- Vegetable Fish Curry: Add a variety of vegetables such as bell peppers, carrots, peas, or potatoes to the curry to create a hearty and nutritious vegetable fish curry. Sauté the vegetables along with the onions or cook them separately before adding them to the curry.
- Coconut-Free Fish Curry: Simply omit the coconut milk and dried coconut from the recipe. The curry will still have a flavorful base with the aromatic spices and tangy tomato sauce. Or use cashew paste to enrich the sauce.
- Fusion Fish Curry: Infuse Thai flavors into your fish curry by incorporating ingredients like lemongrass and Thai basil. Replace some of the spices with Thai red or green curry paste for a delightful fusion of Indian and Thai cuisine.
- Seafood Medley Curry: Include shrimp, scallops, or mussels along with the fish to create a flavorful seafood medley curry. Adjust the cooking times based on the seafood's specific requirements to ensure everything is cooked to perfection.
Here are some frequently asked questions about making fish curry.
Yes, you can use frozen fish for the curry. Make sure to thaw it thoroughly before cooking. Pat the fish dry with a paper towel to remove any excess moisture before adding it to the curry.
Yes, you can make a vegan version of this curry. Simply omit the fish and replace it with your choice of vegetables like cauliflower, potatoes, or tofu. Use vegetable broth instead of water for added flavor. Adjust the seasoning and spices to suit your taste. Try adding nutritional yeast.
While using individual spices adds depth and complexity to the curry, you can use a good-quality curry powder as a time-saving alternative, but the curry will have a different taste. Adjust the quantity according to your taste.
If you find the curry too tangy, reduce the amount of tamarind paste or lemon juice. Start with a smaller quantity and gradually add more to achieve your desired level of tanginess. Remember, the sourness may intensify as the curry simmers, so it's always better to adjust towards the end of the cooking process.
More Indian Recipes
- Indian Cabbage Recipe (Oven Roasted)
- Chicken Korma
- Sauteed Spicy Shrimp
- Meat Cutlets (Meat Patties With Potatoes)
- Indian Egg Curry (Restaurant Style)
- Spinach Dal (Dal Palak)
★ DID YOU MAKE THIS RECIPE? PLEASE COMMENT AND GIVE IT A STAR RATING BELOW!
Fish Curry (Indian Recipe)
- 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
- ½ teaspoon turmeric
- 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
- ½ teaspoon salt adjust to taste, may need ¾ tsp
- 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
- 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 minutes.
- 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 a 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, 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.
- 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.
- Adjust the amount of water added to the sauce based on the dish or pan being used and desired consistency. There is more evaporation when using a wide cast-iron dish. Start with 1 cup of water if using a different dish.
- Different cuts of fish can be used, such as darne cut (steak cut) or boneless fillets. 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.
- Firm fleshed fish varieties like salmon, trout, haddock, snapper, bass, cod, barramundi, etc, work best for fish curry. While white fish is milder and absorbs flavors well, fish with stronger flavors can also be used. Delicate fish may not hold its shape well.
- Coconut: If you want to skip dried coconut, increase the coconut milk and vice-versa. If choosing only one coconut product, you can use ½ cup of coconut milk, desiccated coconut or flakes (ground into a powder), or fresh coconut (ground into a paste).
- Kashmiri chili powder is milder, but you can use regular chili powder or adjust the amount to increase the spiciness. If using more souring agents like tamarind or lemon juice, more chili powder may be needed.
- Finely chopped onions can be sauteed instead of blending for a more textured sauce. Ensure that the onions are very finely chopped.
- Tamarind puree can be made by soaking dried tamarind in water, squeezing out the pulp, and discarding the seeds and fibers.
- Ready-made pastes and concentrates are available online or at Indian and Asian grocery stores. 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 during 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.
- For more detailed information, expert tips, variations, serving suggestions, recipe FAQs, and more, refer to the blog post.