A coastal classic from Sri Lanka, this fish curry brings together tender chunks of firm white fish simmered in a spiced coconut broth with curry leaves, pandan, and a tangy hit of tamarind. The roasted spice blend deepens the flavor while thick coconut milk lends a velvety finish. Serve with steamed white rice to soak up every drop of the fragrant sauce.
Prep Time15 mins
Cook Time30 mins
Total Time45 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 485 kcalCalories
- 30 gFat
- 21 gSaturated Fat
- 12 gCarbs
- 3 gFiber
- 4 gSugar
- 38 gProtein
- 620 mgSodium
- 880 mgPotassium
- 85 mgCalcium
- 4.5 mgIron
- 18 mgVitamin C
- 160 mcgVitamin A
Ingredients
For the roasted spice blend
- 2 tablespoons coriander seeds
- 1 tablespoon cumin seeds
- 1 teaspoon fennel seeds
- 1 teaspoon black peppercorns
- 4 dried red chilies, stems removed
- 3 green cardamom pods
- 3 whole cloves
- 1 inch cinnamon stick
For the curry
- 1.5 lbs firm white fish (tuna or mackerel), cut into 1.5 inch chunks
- 1.5 cups thin coconut milk
- 1 cup thick coconut milk
- 3 tablespoons coconut oil
- 1 large onion, thinly sliced
- 4 garlic cloves, minced
- 1 inch fresh ginger, minced
- 3 green chilies, slit lengthwise
For the aromatics and seasoning
- 1 medium tomato, finely chopped
- 10 to 12 fresh curry leaves
- 1 pandan leaf, torn (optional)
- 1 teaspoon tamarind paste
- 1 teaspoon red chili powder
- 1/2 teaspoon ground turmeric
- 1 teaspoon mustard seeds
- Salt to taste, lime wedges for serving
Directions
- Dry roast the coriander, cumin, fennel, peppercorns, dried chilies, cardamom, cloves, and cinnamon in a small skillet over medium heat for 2 to 3 minutes until fragrant. Cool slightly and grind to a fine powder in a spice grinder.
- Heat coconut oil in a heavy pot over medium heat. Add mustard seeds and let them splutter, then drop in 6 curry leaves and 2 dried red chilies and fry for 20 seconds.
- Add the sliced onion and sauté for 6 to 8 minutes until deep golden brown at the edges.
- Stir in the garlic, ginger, green chilies, remaining curry leaves, and pandan leaf. Cook for 2 minutes until the raw aroma disappears.
- Add the tomato, turmeric, red chili powder, salt, and the freshly ground spice blend. Cook for 3 to 4 minutes, pressing down on the tomato, until the oil begins to separate at the edges.
- Pour in the thin coconut milk along with the tamarind paste and bring to a gentle simmer. Taste and adjust salt.
- Slide the fish chunks into the sauce in a single layer, spoon some sauce over them, cover, and simmer gently for 10 to 12 minutes until the fish flakes easily but still holds its shape.
- Pour in the thick coconut milk, swirl the pan gently, and simmer uncovered for 3 to 4 minutes more without stirring aggressively. Do not allow the curry to boil once the thick milk is in.
- Remove from heat, squeeze in lime juice, and let the curry rest for 5 minutes so the flavors settle. Serve hot with steamed rice.
- Spoon into bowls and finish with an extra drizzle of thick coconut milk and a few fresh curry leaves if desired.
Cook’s Notes
- Use firm fleshed fish like tuna, mackerel, or kingfish so the pieces hold their shape in the simmering coconut broth.
- Never let the curry boil once the thick coconut milk goes in, or the sauce will split and turn grainy; gentle heat keeps it silky.
- A pandan leaf (rampe) is traditional and lends a unique grassy aroma, but you can skip it if unavailable.
- This curry tastes even better the next day once the spices have had time to meld, so make it ahead when possible.
- Adjust the green chilies and red chili powder to match your heat tolerance; Sri Lankan curry powder already carries significant warmth.










