Sri Lankan Fish Curry in 35 Minutes

Sri Lankan Fish Curry for 4 Servings
By Julia BennettUpdated:
This Sri Lankan Fish Curry relies on blooming spices in oil to create a deep, earthy base. It's a rich, tangy dish that balances heat with a smooth coconut finish.
  • Time: 10 min active + 15 min cooking + 10 min resting
  • Flavor & Texture: Tangy, creamy, and spicy
  • Perfect for: A cozy weeknight dinner

Easy Sri Lankan Fish Curry

Imagine the smell of fresh curry leaves crackling in hot oil and the sight of a deep red, creamy sauce. It's a bold flavor profile that hits every note, from the sour tang of tamarind to the warmth of cinnamon.

This Sri Lankan Fish Curry is the kind of meal you make when you want something that tastes like it took hours, but actually comes together in under an hour. It's a reliable way to get bold island flavors on the table without a huge prep list.

It's ideal for a rainy evening or a dinner where you want to feel like you've traveled without leaving your kitchen. The result is flaky fish in a sauce that's thick enough to coat a spoon.

Why This Recipe Works

  • Blooming Spices: Frying the curry powder in oil for a full minute wakes up the fat-soluble flavors. This helps keep the spices from tasting raw or gritty in the finished sauce.
  • Tamarind Balance: The sharp acidity of tamarind paste cuts through the richness of the coconut milk. It prevents the dish from feeling too heavy.

Recipe Specs

DetailValue
Prep Time10 minutes
Cook Time15 minutes
Total Time35 minutes
Servings4

What You'll Need

IngredientRoleIf You Don't Have It
White fish filletsMain proteinHalibut or Cod
Coconut milkBody and richnessFull-fat soy milk (approximation)
Tamarind pasteTartnessLime juice (approximation)
Curry leavesTraditional aromaBay leaf (approximation)

The Full List

  • 1 lb (450g) firm white fish fillets, cut into 2 inch chunks
  • 1/2 tsp (3g) turmeric powder
  • 1/2 tsp (3g) salt
  • 1/2 lime, juiced
  • 2 tbsp (30ml) coconut oil
  • 1 medium (110g) red onion, finely diced
  • 3 cloves (9g) garlic, minced
  • 1 tbsp (15g) ginger, grated
  • 1 sprig (2g) fresh curry leaves
  • 1 cinnamon stick (2cm)
  • 2 tbsp (7g) Sri Lankan fish curry powder Why this? Specific roast and blend for seafood
  • 1 tsp (5g) chili powder
  • 1 cup (240ml) thick coconut milk
  • 1 tsp (5g) tamarind paste Why this? Provides a deep, fruity sourness
  • 1 medium (110g) tomato, diced

Equipment Needed

You'll need a large non-stick skillet or a heavy bottomed pot. A heavy pot is better if you like to keep the heat very steady. You'll also need a medium bowl for the marinating process.

Step-by-step Instructions

Phase 1: Marinating the Protein

In a medium bowl, toss 1 lb (450g) fish chunks with 1/2 tsp (3g) turmeric powder, 1/2 tsp (3g) salt, and the juice of 1/2 lime. Let it marinate for 10 minutes. Note: This removes the raw fish scent and adds a golden color.

Phase 2: Building the Aromatic Base

Heat 2 tbsp (30ml) coconut oil in a large non-stick skillet or heavy bottomed pot over medium heat. Add 1 cinnamon stick (2cm) and 1 sprig (2g) curry leaves. Fry them until the leaves crackle.

Stir in 1 medium (110g) diced red onion, 3 cloves (9g) minced garlic, and 1 tbsp (15g) grated ginger. Sauté until the onions become translucent and fragrant.

Phase 3: Blooming the Spices

Add 2 tbsp (7g) Sri Lankan fish curry powder and 1 tsp (5g) chili powder. Stir constantly for 60 seconds until the oil turns deep red. Stir in 1 medium (110g) diced tomato and cook until it breaks down into a thick paste.

Phase 4: The Coconut Poach

Pour in 1 cup (240ml) thick coconut milk and 1 tsp (5g) tamarind paste. Stir until the sauce is a uniform creamy orange. Bring the liquid to a gentle simmer.

Gently slide the marinated fish chunks into the liquid. Cover with a lid and poach for 5–7 minutes. Cook until the fish is opaque, flakes easily, and reaches an internal temperature of 145°F (63°C).

Pro Tips & Pitfalls

Fish Breaking Apart

This usually happens if you stir too much. Once the fish is in the pan, stop using the spoon. Instead, gently shake the pan or baste the sauce over the fish.

Sauce Too Thin

If the sauce feels watery, simmer it for 2 to 3 minutes longer before adding the fish. This reduces the coconut milk and thickens the base.

Too Much Heat

If the chili powder is too intense, don't add water. Stir in an extra tablespoon of coconut milk or a tiny pinch of brown sugar to mellow out the spice.

Easy Swaps and Add-Ins

For this Sri Lankan Fish Curry recipe, you can play with the protein or the creaminess. If you want a different vibe, try these changes.

Original IngredientSubstituteWhy It Works
White fishSalmonRicher, oilier fish that holds up well to spice
Coconut milkCashew creamSimilar thickness. Note: Adds a nuttier flavor
Tamarind pasteLime juiceProvides acidity. Note: Brighter, less earthy than tamarind

If you enjoy other creamy curries, you might like a Butternut Squash Curry recipe for a vegetable-based alternative.

Make-ahead and Leftover Tips

Store leftover Sri Lankan Fish Curry in a sealed container; it will keep in the refrigerator for 3 days.

To warm it up, use the stovetop over low heat, stirring gently, until it reaches 165°F (74°C) in the center of the fish. I avoid the microwave since it can cause the coconut milk to separate and make the fish rubbery.

Do not freeze this dish. The fish loses its texture and the coconut milk often breaks upon thawing, spoiling the smooth consistency.

Serving Suggestions

Your Sri Lankan Fish Curry is now ready. It is traditionally paired with pol sambol or steamed basmati rice, though a side of crusty bread is a wonderful way to enjoy every drop of the sauce.

I personally enjoy topping the dish with chopped cilantro and a fresh squeeze of lime just before serving to enhance the flavors.

Recipe FAQs

How do I make this simple curry?

Toss fish with turmeric, salt, and lime, then sauté aromatics and poach the fish in coconut milk.

Tip: make sure the curry leaves crackle in the oil to release their full aroma.

Is coconut milk essential for this recipe?

It provides the creamy texture and balances the heat from the chili powder.

Tip: use thick coconut milk for a richer sauce.

Can this be made in an Indian style?

Yes, by swapping the Sri Lankan fish curry powder for a standard Indian Madras or fish curry blend.

Tip: this variation typically results in a more earthy, less tangy profile.

Which fish works best for this dish?

Any firm white fish fillets that hold their shape during poaching are ideal.

Tip: cut the fish into consistent 2-inch chunks to ensure even cooking.

Why is tamarind paste added?

It adds a sharp tanginess that cuts through the richness of the coconut milk.

Tip: stir it in well to ensure the sauce is a uniform creamy orange.

How to store the leftovers?

Keep the curry in the refrigerator.

Tip: use a sealed container to prevent odors from spreading.

What sides pair well with this curry?

Steamed basmati rice or warm flatbreads are traditional choices.

Tip: it also complements roasted sweet potatoes for added sweetness.

Sri Lankan Fish Curry for 4 Servings

Sri Lankan Fish Curry for 4 Servings Recipe Card
4.5 / 5 (8 Reviews)
Preparation time:10 Mins
Cooking time:15 Mins
Resting time:10 Mins
Total time:35 Mins
Servings:4 servings
Category: Main CourseCuisine: Sri Lankan
print Pin

Ingredients:

Instructions:

Nutrition Facts
Per serving
Calories
306 kcal
% Daily Value*
Total Fat 19g
   Saturated Fat 15g
Sodium 350mg
Total Carbohydrate 10g
   Dietary Fiber 1.5g
   Total Sugars 3g
Protein 22g
* Percent Daily Values are based on a 2,000 calorie diet.
Rate This Recipe
Pick your stars
Your Turn: