Hi there! If you love bold, unapologetic flavour, you are in for a treat. Ambul thiyal is Sri Lanka’s iconic sour fish curry, traditionally associated with the southern coast around Matara and Galle.
Unlike a creamy fish curry, this southern classic contains no coconut milk and very little liquid. Firm fish, usually tuna or kelawalla, is rubbed with goraka, black pepper, chilli and turmeric. It is then layered with aromatics and cooked slowly until the coating turns dark, dry and intensely tangy.
That dry finish is the secret. Ambul thiyal was traditionally made to help fish keep for days without refrigeration. Today, you should still refrigerate it promptly, but the cooking method remains wonderfully practical (and delicious on day two).
Ambul Thiyal at a Glance
- Serves: 4
- Prep time: 20 minutes, plus optional marinating time
- Cook time: 30–40 minutes
- Best fish: Firm tuna, kelawalla or seer fish
- Style: Sour, peppery, dry and deeply spiced
- Key ingredient: Goraka, also known as Garcinia or gamboge
For your Sri Lankan pantry, browse the Grocery category, Spices category, and Coconut Products category. You will find useful staples for this recipe and plenty of ingredients for the meal around it.
Ingredients
For the Fish
- 700 g firm fish steaks or thick fillets, preferably tuna or kelawalla
- 3 tablespoons goraka paste
- Or use 10–12 pieces dried goraka, softened and pounded
- 2–3 tablespoons freshly ground black pepper
- 2 teaspoons chilli powder
- 1 teaspoon turmeric powder
- 1½ teaspoons salt, or to taste
For the Pot
- 4 garlic cloves, lightly crushed
- 1-inch piece ginger, sliced or bruised
- 2 sprigs curry leaves
- 1 small piece pandan leaf, also called rampe (optional but traditional)
- 1 small piece cinnamon
- 1 tablespoon coconut oil, optional for a modern heavy-bottomed pan
Traditional ambul thiyal does not need coconut milk. Keep the Coconut Products collection in mind for other Sri Lankan recipes, but leave the coconut milk in the cupboard today. This curry is all about goraka, pepper and a wonderfully dry finish.
If You Cannot Find Goraka
You can use 1½–2 tablespoons thick tamarind paste instead. The result will still be sour and tasty, but goraka gives ambul thiyal its distinctive southern character and darker, more traditional flavour.
Step 1: Prepare the Goraka
If you are using dried goraka, rinse it briefly and place it in a small bowl. Cover it with warm water and leave it for 30–60 minutes, until softened.
Drain it well, then pound or blend it into a thick paste. Add only enough liquid to help it come together. You want a paste, not a watery sauce.
If you are using ready-made goraka paste, you can move straight to the next step. Easy win!
Step 2: Rub the Fish with Goraka and Spices

Cut the fish into chunky pieces, around 3–4 cm thick. Avoid making the pieces too small, because they may break during cooking.
Place the fish in a bowl. Add the goraka paste, black pepper, chilli powder, turmeric and salt. Use your hands or a spatula to coat every piece gently.
Kitchen note: Firm fish is your friend here. Tuna and seer fish hold their shape far better than delicate white fish.
Leave the fish to rest for 15–30 minutes. This short marinade gives the sourness and pepper time to settle into the flesh.
Step 3: Layer the Clay Pot

Use a traditional clay pot if you have one. A wide, heavy-bottomed pan also works well.
Arrange the curry leaves, pandan, ginger, garlic and cinnamon across the base of the pot. These aromatics create a protective layer between the fish and the cooking surface while adding fragrance.
Place the marinated fish pieces on top in a single layer. If necessary, arrange them snugly, but avoid stacking them several layers deep.
Do not add water. The fish will release moisture as it cooks, and the goraka coating will gradually loosen into a thick sauce.
If you are using a modern pan that tends to stick, add a tablespoon of coconut oil before layering. This is optional, not essential.
Step 4: Cook Slowly Without Stirring
Cover the pot and place it over low heat. Let the fish cook gently for 15–20 minutes.
You should hear a soft simmer, not an aggressive boil. High heat can scorch the goraka paste before the fish cooks through. Patience is the name of the game (your kitchen will smell fantastic, so you have a reward while you wait).
Do not stir with a spoon. Instead, hold the pot carefully by its handles and give it a gentle shake every few minutes. This moves the sauce around without breaking the fish.
Step 5: Turn the Fish and Reduce the Sauce
Once the fish looks mostly cooked, use a wide spatula to turn each piece carefully. Work slowly and support the fish from underneath.
Cover the pot again and continue cooking over low heat for another 10–15 minutes. As the moisture evaporates, the goraka and spice mixture will cling to the fish.
Remove the lid for the final few minutes. Continue cooking until the fish is coated in a thick, dark paste and very little liquid remains.

The finished ambul thiyal should not look like a runny curry. It should be dark, almost dry and intensely aromatic, with a sour, peppery coating on every piece.
Taste carefully and adjust the salt if needed. Let the curry rest for 10 minutes before serving. The flavour deepens as it cools.
How to Get the Classic Dark, Dry Finish
The best ambul thiyal has a few defining qualities:
- Use firm fish. Tuna or kelawalla gives you chunky pieces that survive slow cooking.
- Do not dilute the goraka. A thick paste creates a stronger coating and deeper colour.
- Keep the heat low. Slow cooking allows the fish to release moisture gradually.
- Avoid spoon-stirring. Shake the pot instead. Your fish will thank you.
- Reduce fully. Stop only when the sauce clings to the fish and no watery pool remains.
- Let it rest. Ambul thiyal often tastes even better the next day.
For modern storage, cool the curry promptly and transfer it to a clean, covered container. Refrigerate it and use it within 3–4 days. Reheat only the portion you plan to eat, and discard it if it develops an unusual smell, appearance or texture.
Traditional keeping methods helped this curry last longer, but they are not a substitute for modern food-safety practices. When in doubt, chill it.
Troubleshooting Ambul Thiyal
The fish is sticking to the pot
Your heat may be too high, or the pot may not be well seasoned. Turn the heat down immediately. Add a small splash of water only if the base is actively scorching, then gently loosen the fish with a wide spatula.
Next time, use extra curry leaves as a base or lightly coat a modern pan with coconut oil.
The sauce is too thin
Remove the lid and continue cooking over low heat. The excess moisture needs time to evaporate.
Do not add more fish or spices while the curry is watery. Simply reduce it until the goraka paste coats the fish.
The curry is overly sour
Goraka varies in strength. If the flavour is too sharp, add a pinch of salt and a tiny pinch of sugar to balance it. You can also serve it with extra plain rice.
Avoid adding coconut milk to this traditional dry version. It will change the character of the dish and make it less suitable for storage.
The fish is breaking apart
You may be stirring too much, or the fish may be too delicate. Use a wide spatula, turn the pieces only once, and shake the pot instead of stirring.
Next time, choose thick tuna or seer fish steaks and cut them into larger pieces.
Vegetarian Ambul Thiyal Alternative
You can create a vegetarian version using banana blossom or young jackfruit.
For banana blossom, clean and slice about 500 g into chunky pieces. For jackfruit, use 500 g young green jackfruit, drained and cut into large pieces. Coat the vegetables with the same goraka, black pepper, chilli, turmeric and salt mixture.
Layer them over the curry leaves, garlic, ginger and pandan. Cook over low heat until tender, then uncover and reduce until the goraka paste becomes dark and clings to the pieces.
Banana blossom gives a fibrous, flaky texture. Jackfruit is softer and meatier. Both make a lovely plant-based dish (and neither requires you to argue with a fish fillet).
What to Serve with Ambul Thiyal

Serve ambul thiyal with plain steamed rice so the sour, peppery coating gets the attention it deserves. It also works beautifully with a full Sri Lankan spread featuring dhal, mallung, papadum and a fresh sambol.
For a festive combination, serve it alongside Kiribath, Sri Lankan milk rice. The mild, creamy rice balances the powerful sourness of the fish.
You can also explore more island-style mains in our Rice & Main Dishes collection, or compare this dry southern preparation with our authentic Sri Lankan fish curry recipe.
Watch the Recipe
Want to see the technique in action? Watch this Sri Lankan ambul thiyal cooking video, then return to the kitchen and try the slow-cooking method yourself.
Ambul thiyal is bold, practical and deeply memorable. Keep the heat low, handle the fish gently and reduce the sauce until dark and dry. You will know you have got it right when every piece is wrapped in that unmistakable goraka-and-pepper coating.
Serve it with rice, invite everyone to the table and enjoy. Have fun!


