Hot Indian fish stew is a coconut-rich, chili-spiced dish of tender white fish simmered with tomatoes, ginger, curry leaves and tamarind. Coastal India has many fish curry traditions, and this home-style version balances creamy coconut with tart tamarind and adjustable heat for a satisfying meal over rice.
Ingredients
- 1½ lb firm white fish fillets, such as cod, haddock or halibut (680 g), cut into 1½-inch (4 cm) pieces
- 1 tsp fine salt (5 g), divided
- 2 tbsp neutral oil, such as canola or sunflower oil (30 ml)
- 1 tsp brown or black mustard seeds (3 g)
- 10–12 fresh curry leaves (about 2 g)
- 1 medium yellow onion, about 7 oz (200 g), thinly sliced
- 3 garlic cloves (about 9 g), finely chopped
- 1 tbsp finely grated fresh ginger (15 g)
- 2 fresh serrano chilies (about 20 g), thinly sliced; remove the seeds for less heat
- ½ tsp ground turmeric (1.5 g)
- 1 tsp ground coriander (2 g)
- ½ tsp ground cumin (1 g)
- ¼ tsp cayenne pepper (about 0.5 g), or more to taste
- 1 can diced tomatoes, with their juice, 14 oz (400 g)
- 1 cup water (240 ml)
- 1 can full-fat coconut milk, 13.5 fl oz (400 ml), well shaken
- 1 tbsp tamarind paste (15 g)
- ½ tsp granulated sugar (2 g), optional, to balance the tartness
- 1 tbsp fresh lime juice (15 ml)
- ¼ cup loosely packed chopped fresh cilantro (about 10 g)
Instructions
- Set out and measure the ingredients, then slice the onion, chop the garlic, grate the ginger and cut the fish into even pieces. Pat the fish dry with paper towels; do not rinse it, since splashing can spread raw-fish juices. Season the pieces with about half of the salt. This preparation takes about 25 minutes, including the time to cut the fish and organize the spices.
- Warm the oil in a heavy, wide pot or Dutch oven over medium heat. Add the mustard seeds and cover loosely with a lid or splatter screen; cook for about 30 seconds, until they begin to pop. Stir in the curry leaves and cook for another 30 seconds. They may crackle when they hit the oil, so add them carefully.
- Add the sliced onion and cook for about 7 minutes, stirring often, until softened and lightly golden at the edges. Lower the heat a little if it starts browning quickly. The onion should become sweet and tender rather than dark; taking time here gives the broth a fuller base.
- Stir in the garlic, ginger and sliced chilies. Cook for 1 minute, just until fragrant. Add the turmeric, coriander, cumin and cayenne, and stir for about 30 seconds so the spices bloom in the oil. If the pot looks dry or the spices begin sticking, stir in a spoonful of water rather than letting them scorch.
- Add the diced tomatoes and their juice. Stir, scraping up any browned bits from the bottom, and cook for 2 minutes. Pour in the water and coconut milk, then add the tamarind paste, sugar if using, and the remaining salt. Stir until the tamarind is dispersed; it may take a few seconds to dissolve completely.
- Bring the broth just to a gentle simmer, then reduce the heat and simmer uncovered for 10 minutes. Avoid a hard boil, which can make coconut milk separate and cause the sauce to reduce too fast. Taste the broth before adding the fish: it should be savory, noticeably tart and spicy, but not so sharp that it overwhelms the fish.
- Slide the fish pieces into the simmering broth in one layer as much as possible. Spoon a little sauce over the top, cover the pot, and cook gently for about 6–8 minutes, depending on the thickness of the pieces. Check the thickest piece with a food thermometer; the USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). The flesh should also look opaque and separate into flakes. Avoid vigorous stirring, which can break the fish apart.
- Turn off the heat and stir in the lime juice and cilantro with a gentle fold. Taste and adjust with a pinch more salt, lime or cayenne if needed. Let the stew sit for 2 minutes so the flavors settle, then serve hot. If the broth tastes too tart, add a small pinch of sugar; if it tastes rich or mild, a little extra lime or chili can sharpen it.
Tips
- Choose fish that holds together. Cod, haddock, halibut and pollock work well when cut into generous chunks. Very thin fillets can overcook before the broth has time to season them. If using frozen fish, thaw it fully in the refrigerator and pat it dry before cutting.
- Adjust the heat thoughtfully. Serranos and cayenne make this stew hot, but chili strength varies. Start with one serrano and the listed cayenne for moderate heat, then add more at the end. Indian green chilies are a good alternative and can be quite potent, so add them gradually.
- Know your specialty ingredients. Fresh curry leaves have a distinctive citrusy, savory aroma; dried leaves are less fragrant, and a bay leaf is only a practical stand-in, not an exact replacement. Tamarind paste gives rounded fruit-like tartness. If unavailable, use 1 tbsp (15 ml) lime juice in its place, knowing the broth will taste brighter and less deep.
- Keep the broth gentle. Once the coconut milk is in the pot, use a low simmer rather than a rolling boil. Add the fish only when the broth is ready, and handle the pieces as little as possible so they stay intact.
Serving Suggestions
Serve the stew in shallow bowls with steamed basmati rice, which catches the coconut-tamarind broth. Plain white rice is equally useful if you want the sauce, rather than the grain, to carry the aromatic flavors. For a South Indian-inspired meal, offer appam or another soft flatbread alongside it; bread is especially handy for scooping up the last of the sauce.
A crisp, simply dressed cucumber salad or sliced cucumber and red onion can add a cool contrast to the chilies. Steamed green beans, sautéed cabbage or a lightly cooked vegetable side also fit without competing with the stew. Put extra lime wedges and chopped cilantro on the table so diners can adjust their own bowls. Since the broth is rich, a small side is usually enough; no heavy sauce or elaborate garnish is needed.
Variations
For a milder pot, use one serrano with its seeds removed and leave out the cayenne. To make it hotter, add another chili or increase the cayenne by ⅛ tsp (about 0.25 g) at a time. Kashmiri chili powder can contribute red color and gentle warmth, but it is generally milder than cayenne, so it will change the heat level rather than reproduce it exactly.
You can replace the white fish with peeled raw shrimp. Add them at the same late stage, but cook only until opaque and firm, checking safe doneness with a thermometer if unsure; shrimp cook quickly, so begin checking after a few minutes. For a vegetable version, use 1 lb (450 g) cubed eggplant or cauliflower and simmer it in the broth until tender before adding a handful of chickpeas. That version is no longer fish stew, but it keeps the same coconut, chili and tamarind flavor profile.
If you prefer a thinner, more broth-like stew, add up to ½ cup (120 ml) extra water. For a richer sauce, use a little less water rather than adding more coconut milk, which can mute the spice and tartness. You can also add a handful of baby spinach after the fish is cooked and fold it in just until wilted.
Storage and Reheating
Refrigerate leftovers within 2 hours of cooking, ideally in a shallow airtight container. Keep the stew refrigerated for 3–4 days. The fish will continue to soften as it sits, so use a gentle hand when moving it into storage. For longer storage, freeze it in a sealed freezer-safe container for up to 2 months for best texture; thaw overnight in the refrigerator. Coconut broth may look slightly separated after freezing, but gentle reheating and stirring usually bring it back together.
Reheat only the portion you plan to eat, in a covered saucepan over low heat, stirring the broth gently and turning the fish carefully. Add a splash of water if the sauce has thickened. Heat leftovers to 165°F (74°C), checking with a food thermometer, and avoid repeatedly cooling and reheating the whole pot. A microwave also works: cover the bowl loosely, heat in short intervals, and stir the broth between intervals while taking care not to break the fish.
Frequently Asked Questions
What fish is best for Indian fish stew?
Choose a firm or moderately firm white fish that can be cut into thick pieces, such as cod, haddock, halibut or pollock. The exact choice depends on availability and budget. Avoid very thin pieces, which can fall apart quickly, and check for pin bones before cooking.
Can I make this stew less spicy?
Yes. Use one serrano, remove its seeds and membranes, and omit the cayenne. Chilies vary in heat, so tasting the broth before adding the fish is a useful chance to adjust it. Diners who like more heat can add sliced chili or cayenne to their own bowls.
Can I use light coconut milk?
You can, though the broth will be thinner and less creamy. Full-fat coconut milk gives the stew more body and better carries the spice aromas. If using light coconut milk, keep the simmer gentle and avoid adding extra water until you have checked the consistency.
Can I prepare the stew ahead?
You can make the broth through the simmering step up to a day ahead, cool it promptly and refrigerate it. Reheat the broth gently until simmering, then add the fish and cook it to 145°F (63°C) just before serving. This approach gives you fresher-textured fish than cooking the complete stew in advance.
Why does the coconut broth look split?
Coconut milk can separate if it boils hard, but a slightly grainy appearance does not necessarily mean the stew has gone bad. Keep the pot at a gentle simmer and stir the broth before adding the fish. If it separates during reheating, whisk or stir the broth gently over low heat; avoid vigorous stirring around the fish pieces.
Related
- Greek Chicken Stew with Tomatoes, Olives, and Orzo
- Greek Chicken Vegetable Soup with Lemon and Herbs
- Greek Chickpea Stew with Lemon and Herbs
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).