
Keralan Fish Curry
South Indian fish curry from Kerala — tender white fish fillets simmered in a coconut milk sauce with curry leaves, mustard seeds, and tamarind. It is tangier than most creamy curries and deeply aromatic from the tempered spices and fresh curry leaves. In Kerala the sour note comes from kudampuli (kodampuli, Malabar tamarind), a dried souring fruit; ordinary tamarind paste is the easier-to-find stand-in used here, and it balances the richness of the coconut milk. The golden rule: never stir the fish, just shake the pan gently to keep the fillets intact.
Ingredients
- 500 gwhite fish fillets
- 400 mlcoconut milk
- 1 largeonion
- 2 tomatoes
- 4 clovesgarlic
- 1 inchfresh ginger (about 15 g)
- 2 green chilies
- 10-12 curry leaves
- 1 tspmustard seeds
- 1 tspturmeric
- 1 tspchili powder
- 1 tbsptamarind paste
- 2 tbspcoconut oil
- 1 tspsalt
Method
- Cut the fish fillets into large pieces — about 7–8 cm each. Don't go smaller or they'll fall apart during cooking. Pat them dry with paper towels and season lightly with salt and a pinch of turmeric. Set aside.
- Heat the coconut oil in a wide, heavy-bottomed pan over medium heat. Add the mustard seeds and wait for them to pop — this takes about 30 seconds. The popping means the oil is at the right temperature for tempering.

- Add the curry leaves (careful — they'll splatter), sliced onion, slit green chilies, minced garlic, and grated ginger. Sauté for 4–5 minutes until the onions turn soft and translucent with barely any color — don't brown them.
- Add the chopped tomatoes, turmeric, chili powder, and the measured salt. Cook for 3–4 minutes, pressing the tomatoes with the back of a spoon until they break down into a chunky sauce, then taste and adjust the seasoning.
- Pour in the coconut milk and tamarind paste. Stir well to combine, bring to a gentle simmer, and cook for 8–10 minutes until the sauce thickens slightly and the raw coconut milk taste mellows out.
- Gently slide the fish pieces into the sauce. Don't stack them — arrange them in a single layer so each piece is partially submerged. Here's the crucial rule: do not stir. Instead, shake the pan gently side to side every couple of minutes. This keeps the fish intact while letting the flavors penetrate.

- Cover and cook on low heat for 8–10 minutes until the fish is opaque all the way through and flakes easily when pressed (63°C in the thickest piece). Let the curry rest for 5 minutes off heat — the flavors intensify as it sits. Serve with steamed rice.
FAQ
Three things cause fish to disintegrate in curry: cutting pieces too small, using soft-fleshed fish, and stirring with a spoon. Cut fillets into large 7–8 cm chunks — small pieces have more surface area and break apart faster. Choose firm white fish like cod, sea bass, or halibut instead of tilapia or sole. The most critical rule: never stir the curry after adding fish. Instead, hold the pan by its handles and shake it gently side to side — this moves the sauce around the fish without breaking it. Also, don't cook on high heat — a gentle simmer is all you need. The fish is done in 8–10 minutes.
Curry leaves and curry powder are completely different things — this is the most common mix-up in Indian cooking. Curry leaves are fresh, aromatic leaves from the Murraya koenigii tree; they look like small, glossy bay leaves and carry a unique citrusy, faintly smoky fragrance, and you'll find them at Indian grocery stores or in the produce section of some Asian supermarkets, usually sold as fresh sprigs. Curry powder, by contrast, is a blend of ground spices such as coriander, cumin, and turmeric that was standardized under British rule; whole spices bloomed in hot oil give more aroma, but ready-made blends, including fish curry masala made specifically for this dish, are a normal shortcut in Indian kitchens too. None of that replaces the citrusy punch of real curry leaves, so if you absolutely cannot find them, use 2 bay leaves plus the zest of half a lime, though the flavor won't be identical. Once you have a bunch of curry leaves, they're worth reusing in dishes like dal soup or chana masala.
In this recipe tamarind paste provides the sour note that balances the coconut milk's richness. The best pantry substitute is a mixture of 2 tablespoons of fresh lime juice with 1 teaspoon of brown sugar — the acidity comes from the lime while the sugar mimics tamarind's faint sweetness. Another option is 1 tablespoon of dried mango powder (amchur), which gives a similar fruity sourness, or 1 tablespoon of white wine vinegar in a pinch, though it lacks the depth. The dried fruit Kerala cooks traditionally reach for is kudampuli (Malabar tamarind, Garcinia gummi-gutta) — soak 3–4 pieces in warm water for 10 minutes and add the liquid to the curry. Kokum (Garcinia indica), the similar souring fruit used further north along the Konkan coast, is a different species but a reasonable stand-in if kudampuli isn't available.
Firm white fish works best for Keralan fish curry because it holds its shape during the 8–10 minutes of simmering. Cod, sea bass, halibut, and kingfish are ideal choices. Red snapper and swordfish also work beautifully. Salmon is not traditional and its strong flavor competes with the spices, but it can work — cook it the same way and take it off the heat as soon as the flesh turns opaque and flakes. Shrimp is a fantastic alternative — add them in the last 4–5 minutes of cooking. Traditional Kerala cooks use seer fish (king mackerel) or pearl spot, but any firm-fleshed fish from your local market will produce excellent results.
Fish curry keeps well in the refrigerator for 2 days in an airtight container. The flavors actually improve overnight as the spices meld together — it's one of those dishes that tastes better the next day. To reheat without making the fish rubbery, warm it gently over low heat on the stovetop until the sauce is bubbling and the fish is steaming hot right through (74°C). Never microwave fish curry on high — use 50% power in 30-second intervals, stirring the sauce (not the fish) between rounds. If the sauce has thickened too much in the fridge, add 2–3 tablespoons of water or coconut milk before reheating. Don't freeze fish curry — the fish texture changes dramatically when frozen and thawed.
Rate this
Recipes by email
One letter a week: a recipe picked for your taste, plus whatever is new on the site. Unsubscribe in one click.
Welcome gift: Sergei's cookbook (e-book).
By subscribing you agree to the privacy policy.
Tell us what you like to cook (30 seconds) →Keep browsing
More dishes from the Indian archive — picked by overlap with what you're cooking now.



Join the conversation
Comments (1)
I bring the white fish fillets to room temperature for 10 minutes before cooking keralan fish curry. Cold fish hitting a hot pan drops the temperature and you lose that crucial initial sear. Just 10 minutes, not more — food safety matters.