A vibrant and tangy fish curry from the Indian state of Kerala, featuring tender fish pieces simmered in a coconut milk-based gravy with a unique blend of spices and souring agents. A flavorful and aromatic meal for two.

Kerala fish curry (meen curry) is the quintessential dish of Kerala, the southwestern coastal state known as 'God's Own Country.' It is defined by three signature elements: the use of coconut oil and fresh coconut milk, the tempering of mustard seeds and curry leaves, and the sourcing from kokum (Malabar tamarind) — a dried purple fruit that gives the curry its characteristic deep, fruity tanginess. This is a dish inextricably tied to Kerala's backwaters, fishing communities, and lush tropical landscape.
Kerala fish curry achieves a flavor complexity that seems far beyond its ingredient list. The kokum creates a tangy-fruity depth that tamarind cannot replicate, the toasted mustard seeds and curry leaves create a crackling aromatic base, and the layered coconut milk (thin for simmering, thick for finishing) creates a sauce that is simultaneously light and deeply rich. It is one of the most distinctive and delicious fish preparations in South Asian cuisine.
Serve with plain steamed rice or soft appam (Kerala coconut rice pancakes) for a traditional pairing. The curry actually improves overnight as the fish absorbs the sauce — making it an excellent dish to prepare the day before a dinner party.
Pat the fish very dry before marinating. Never stir vigorously once the fish is added — it will break apart. Add the thick coconut milk only at the end, never boiling it. If kokum is unavailable, dried tamarind soaked in water is the closest substitute.
The defining ingredient of Kerala fish curry that cannot be truly substituted. Dried kokum petals (from the Garcinia indica tree) provide a distinctly fruity, slightly floral sourness that is softer and more complex than tamarind. Available at Indian grocery stores in the dried form — soak in warm water before use.
Kerala cuisine uses two thicknesses of coconut milk for different purposes. Thin coconut milk (from a can shaken then measured) is used for simmering the curry and allows flavors to meld without overwhelming richness. Thick coconut milk (the top layer from an unshaken can) is added at the very end for richness — never boiled.
The traditional cooking fat of Kerala that contributes a subtle coconut aroma to the entire dish. Even a small amount of coconut oil makes a perceptible difference in authenticity. Cold-pressed virgin coconut oil has the strongest flavor; refined coconut oil is more neutral.
Fresh curry leaves are essential — dried ones have negligible flavor. They are added to the hot oil in the tempering step, where they fry and crackle, releasing a distinctive floral-citrus aroma. This technique (tadka or tempering) is the foundation of South Indian cooking.
If kokum is unavailable, use 1 teaspoon tamarind paste dissolved in 2 tablespoons warm water, or 1 tablespoon fresh lime juice added at the end. The flavor will differ but still be delicious. Any firm white fish works: tilapia, cod, snapper, swordfish, or salmon. For a richer curry, use all thick coconut milk. Shallots are traditional but white or yellow onion work fine. Vegetable oil can replace coconut oil, though the aroma will differ.
Gently rinse the fish pieces. Pat them very dry with paper towels. Sprinkle 1/4 teaspoon salt and 1/8 teaspoon turmeric powder over the fish and rub it gently to coat. Let the fish marinate for at least 15 minutes. Marinating adds a first layer of flavor and color.
Heat 1 tablespoon coconut oil or vegetable oil in a heavy-bottomed pot or clay pot (traditional) over medium heat. Add 1/2 teaspoon mustard seeds and let them splutter (pop open). Add 1/4 teaspoon fenugreek seeds (small, yellowish-brown seeds) and 8-10 fresh curry leaves (small, aromatic leaves, if using). Cook for a few seconds until fragrant (smells pleasant and aromatic). Add 1/2 cup thinly sliced shallots or chopped onion. Cook for 5-7 minutes, stirring occasionally, until soft and translucent (you can see through it). Stir in 1 tablespoon minced fresh ginger, 2 cloves minced garlic, and 1-2 green chilies (slit lengthwise). Cook for 1-2 minutes until fragrant.
Stir in 1/2 cup roughly chopped tomato, 1 teaspoon red chili powder, 2 teaspoons coriander powder, 1/4 teaspoon turmeric powder, and 1/2 teaspoon black pepper powder. Cook for 2-3 minutes, stirring, until the raw smell of the spices disappears. Add the 2-3 pieces of soaked kokum (the sour dried fruit) along with its reserved soaking liquid. Pour in 1 cup thin coconut milk. Add the remaining 1/4 teaspoon salt. Bring the gravy to a gentle simmer (cook gently just below boiling, with small bubbles).
Gently add the marinated fish pieces to the simmering gravy. Do not stir vigorously, as fish is delicate. Cover the pot and simmer for 8-10 minutes, or until the fish is cooked through and flakes easily. Cooking time depends on the thickness of the fish. Gently stir in 1/2 cup thick coconut milk. Heat the curry for another 1-2 minutes, but do not boil after adding the thick coconut milk, as it can cause the milk to separate.
Taste the fish curry and adjust salt or tanginess if needed. Garnish with 2 tablespoons fresh chopped cilantro. Serve the Kerala-Style Fish Curry hot with steamed rice or appam (a type of pancake).
Techniques that separate good from great
Fish flesh is delicate and breaks apart easily. Once you add the fish, use only the gentlest occasional swirling of the pan by its handle to redistribute the curry, or at most a single soft nudge with a spoon. Any more agitation and you'll end up with curry-flavored fish shreds rather than beautiful intact pieces.
The proteins in thick coconut milk curdle and the oil separates at high heat, creating a grainy, broken sauce. Add the thick milk only in the final 1-2 minutes, maintain the lowest possible heat, and stir gently. The residual heat from the curry is enough to warm it through.
Kerala fish curry, like most braised fish dishes, improves dramatically with resting time. The fish absorbs the kokum-spiced coconut sauce and the flavors meld. If you can plan ahead by a day, refrigerate the curry and gently reheat — it will be noticeably better.
Even half a tablespoon of coconut oil in the tempering makes a significant difference in the curry's aroma and authenticity. The coconut oil fuses with the curry leaves and mustard seeds to create a base note that is unmistakably Keralan. Vegetable oil produces a good but less distinctive result.
Different ways to make this dish your own
A gentler, more delicate version using only coconut milk (no tomato, little chili) with green chilies, turmeric, and whole spices. Meen Molee is pure white-golden color and mild enough for all spice tolerances, traditionally served with appam.
Replace fish with jumbo prawns for a slightly sweeter, richer curry. Prawns cook faster than fish (only 3-4 minutes) so add them after the sauce has fully developed. This is one of Kerala's most celebratory seafood dishes.
Use fresh sardines — one of the most traditional Kerala choices — for an intensely flavored, oily fish curry. Sardines hold up better to vigorous simmering than white fish and absorb the kokum beautifully. The rich oils from the fish thicken the sauce naturally.
Cook the curry in an unglazed clay pot (chatti) for an authentic Kerala experience. The clay pot adds a subtle earthy minerality to the sauce and holds heat beautifully. Season the pot with tamarind water before first use.
Perfect pairings to complete the meal
The most traditional pairing. Plain steamed rice allows the bold kokum-spiced coconut sauce to take center stage. Mash a piece of fish into the rice and douse with curry sauce — this is how it's eaten in Kerala homes.
Soft, lacy appam with their crispy edges and pillowy centers are the ideal traditional companion to Kerala fish curry. The mild, slightly sweet appam contrasts beautifully with the tangy, spiced curry sauce.
Flaky, layered Kerala parotta (flatbread) torn and dipped into the fish curry makes an extraordinary combination. The buttery, layered bread absorbs the coconut-kokum sauce in the most satisfying way.
Kerala fish curry is genuinely better the next day after the fish has fully absorbed the sauce and all the spices have melded overnight. Reheat gently and serve with fresh rice for what may be the best meal of the week.
Keep it fresh and plan ahead
Kerala fish curry keeps well refrigerated for up to 2 days in an airtight container. The flavor actually improves after 12-24 hours as the fish absorbs the sauce. Reheat gently over low heat — never boil after refrigerating.
The curry can be frozen without the fish for up to 1 month. The fish itself does not freeze well in curry as it becomes watery and breaks apart upon thawing. Make the sauce ahead and freeze; add fresh fish when reheating.
This is an excellent make-ahead dish. Prepare the entire curry, including the fish, up to 1 day ahead. The fish will fully absorb the sauce overnight and the curry will be significantly more flavorful at serving.
Reheat gently over low heat, covered, adding 1-2 tablespoons of water if the sauce has thickened. Do not boil. The thick coconut milk in the sauce will separate if boiled hard — gentle warming only.
Turn what you already have in your fridge into delicious meals. Our AI-powered generator creates personalized recipes from your ingredients.
Browse more like this:
Discover more delicious recipes similar to what you're cooking
Join our newsletter and discover new favorites delivered straight to your inbox. No spam, just tasty inspiration.
I enjoy all of the nutrition facts, chefs tips and equipment needed. Makes it a lot more easy.
Never tasted curry with fish instead of chicken, but not too bad.