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.
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.










