You’ll love this Kerala Fish Curry with Coconut Milk. Wild-caught mackerel simmered with everyday spices and creamy coconut milk in a fiery, tangy sauce scented by tamarind. Serve with hot white rice and mop up every last drop—this curry often tastes even better the next day.

Watch How to make Kerala Fish Curry
Kerala Fish Curry with Coconut Milk
This Kerala fish curry with coconut milk delivers bold, layered flavors every time. Fiery and aromatic, it benefits from extra-virgin coconut oil for authentic fragrance. Use oily fish like sardines or mackerel when possible; if unavailable, bass, mahi mahi, trout or snapper are good alternatives.
Freshly pounded ginger, garlic and shallots bring a rustic, bright note that complements the dry spices. Known locally as Nadan Meen Curry, this Kottayam-style preparation traditionally uses kudampuli (Malabar tamarind) and is often cooked in an earthen pot (manchatti), though any pot will work.
If you don’t have kudampuli, substitute a small piece of tamarind. You can also omit the coconut milk and add water for a lighter version, but the coconut milk gives the curry a rich, rounded finish.
Kerala Fish Curry Ingredients
Find the exact measurements on the Recipe Card below

- Fish: Wild-caught mackerel, cleaned and cut into pieces (about 2–3″ each).
- Shallots: Use pearl or regular onions if shallots are unavailable.
- Ginger root
- Garlic
- Green chilies
- Dry spices: Kashmiri red chili powder (or deggi mirch), coriander powder, turmeric.
- For tempering: Fenugreek (methi) seeds, black mustard seeds (rai/sarson) and fresh curry leaves.
- Coconut milk: Freshly squeezed or store-bought.
- Tamarind: A small blob soaked in warm water (kudampuli substitute).
- Oil: Extra-virgin coconut oil for authentic flavor; neutral oil can be used instead.

Kerala Fish Curry Recipe – Tips & Tricks
- Choose fresh, oily fish: Sardines and mackerel give the most authentic flavor.
- Prefer shallots for a milder, sweeter onion base.
- Pound the aromatics: Use a mortar and pestle for a textured mix of ginger, garlic, shallots and green chilies; a quick blitz in a blender works if needed—avoid a smooth paste.
- Use coconut oil for authentic aroma and taste.
- Use fenugreek sparingly: Too much can add bitterness.
- Do not fry the fish first: Add raw fish to the sauce and simmer gently.
- Simmer briefly: Cook the fish on low for about 5 minutes to avoid overcooking.
- Let it rest: Allowing the curry to sit for a few hours (or overnight) deepens the flavors.
- Earthenware: Cooking in a manchatti enhances flavor but is optional.

How to prepare Kerala Fish Curry step by step?
Steps in words below pictures



Time needed: 30 minutes
How to cook Kerala Fish Curry?
- Pound the ginger, garlic and shallots
Add green chilies and pound into a textured mix rather than a smooth paste.
- Temper the oil
Heat coconut oil and sizzle fenugreek, mustard seeds and curry leaves for a few seconds.
- Fry the pounded aromatics
Add the pounded mixture and fry over medium heat until the oil separates from the masala.
- Sauté the dry spices
Add chili, coriander and turmeric powders; roast until the raw smell disappears, sprinkling a little water if needed.
- Add water and bring to a boil
Stir in about 1 cup water, cover and bring the sauce to a gentle boil.
- Add tamarind and coconut milk
Mix in tamarind-soaked water and then the coconut milk, stirring to combine.
- Add the fish and cook
Gently add fish pieces, coat with the sauce, cover and simmer on medium-low for about 5 minutes until cooked through. Turn off the heat and let the curry rest so flavors meld.
Love fish? Try other delicious fish curries for variety and inspiration.







This recipe is updated with a video for better user experience.

Kerala Fish Curry with Coconut Milk
Print Recipe
Pin
Rate
Watch Recipe Video
Ingredients
- 650 gms 2 small wild-caught mackerels (cleaned)
- 1 cup thinly sliced shallots
- ¼ cup garlic, roughly chopped
- 2 tbsp diced ginger
- 5 green chilies (or to taste)
- ½ cup coconut milk
- Marble-size tamarind, soaked in 3–4 tbsp warm water
- ¼ cup extra-virgin coconut oil
- Salt, to taste
For Tempering
- ¼ tsp fenugreek seeds (methi)
- ½ tsp black mustard seeds (sarson)
- 10 fresh curry leaves
Dry Spices
- 1.5 tbsp paprika or deggi mirch (or Kashmiri red chili powder)
- ½ tbsp coriander powder
- ½ tsp turmeric powder
Want more recipe videos?Check out our YouTube channel!
Instructions
Prep the Fish
- Clean the fish well, remove guts and gills. Rinse several times, pat dry and cut into pieces. Set aside.
Prepare the aromatics
- Lightly pound ginger and garlic in a mortar; add shallots and green chilies and pound to a coarse textured mix, not a smooth paste. Set aside.
Cook the Curry
- Heat an earthen pot, kadai or saucepan over medium-high heat and add coconut oil.
- When the oil is hot, add fenugreek seeds, mustard seeds and curry leaves; let them sizzle briefly.
- Add the pounded aromatic mixture and fry, stirring, until oil separates from the masala; season with salt.
- Add dry spices and roast until you see streaks of oil; sprinkle a few drops of water if needed.
- Pour in about 1 cup water, mix well, cover and bring the sauce to a boil.
- Stir in the tamarind water, then the coconut milk and mix to combine.
- Gently add the fish pieces, coat with the sauce, cover and simmer on medium-low for approximately 5 minutes until just cooked through.
- Turn off the heat and let the curry rest for at least two hours if possible; the flavors deepen with time. Serve with hot rice.
Notes
- Measuring units: 1 cup = 240 ml; 1 teaspoon = 5 ml.
- This curry often tastes best the next day as the flavors mature.
- Profile: Spicy, mildly sour with a subtle coconut fragrance.
- Best fish: Sardine or mackerel; trout, bass, mahi mahi or snapper are alternatives.
- Avoid using prepared ginger-garlic paste for this recipe; freshly pounded aromatics give the right flavor.
- If you don’t have a mortar and pestle, pulse the ingredients briefly in a grinder to retain texture.
- Use full-fat coconut milk or add a little coconut cream for a richer curry.
- Kudampuli substitute: Tamarind soaked in warm water.
- To make this without coconut milk, omit it and add an extra cup of water.
- Adjust spices, oil and tamarind to suit your taste. For extra heat, add ½ tbsp red chili powder.
- How to use kudampuli: Soak in warm water for 30 minutes, squeeze and discard solids, and use the soaked water in the curry.
- Storage: Keeps up to 4 days refrigerated in an airtight container.
- Serving: Best with hot white rice or Kerala-style appam.
Nutrition
| Carbohydrates: 20g
| Protein: 35g
| Fat: 14g
Hungry for more?Follow on Pinterest @Foodiesterminal for more recipes.
Fish Curry Kerala Style – FAQs
A spicy, tangy regional fish curry from Kerala made with pantry spices, tamarind (or kudampuli), and optionally coconut milk. Traditionally cooked in an earthen pot with coconut oil.
Omit the coconut milk and use water instead to make the curry sauce.
After frying the masala and bringing the sauce to a boil with water, add tamarind water and then coconut milk, stirring gently before adding the fish.
Boil down the sauce to your desired consistency or add 1–2 tbsp coconut cream or a paste of coconut meat to thicken.
Kudampuli, also called Malabar tamarind or fish tamarind, is used in Kerala cuisine for its sour, fruity note and can be substituted with tamarind.
Pin it for later!