Karawala Hodi
Sri Lankan Dry Fish Curry (Salted Fish Curry)
Sri Lankan dry fish curry, karawala hodi, is salted sun-dried fish simmered in a fiery coconut and tamarind gravy spiced with chilli, curry powder and goraka. It's deeply savoury and properly pungent. A little goes a long way over rice. Also called salted fish curry, it's a much-loved pantry curry that turns store-cupboard dried fish into something powerfully moreish.

Intensely savoury salted dry fish in a spicy coconut gravy. Pungent, punchy and a serious rice-driver.
- Total time
- 40 min
- 15 min prep · 25 min cook
- Serves
- 4 people
- Difficulty
- Medium
- Spice level
- Authentic Hot
- Country help
- USA · UK · AU · CA substitutes included
CeylonCooking
ceyloncooking.com/recipes/dry-fish-curry

Sri Lankan Dry Fish Curry (Karawala Hodi)
Scan to open on your phone
Nutrition
Estimated values, per serving.
About This Dish
Long before refrigeration, salting and sun-drying was how a coastal island made its catch last. Karawala, dry fish, became a pantry staple that never really left. It's hard, salty and intensely savoury, keeps for months and carries a concentrated, almost smoky depth that fresh fish can't match. Karawala hodi, dry fish curry, is what happens when you simmer that punchy preserved fish into a spicy coconut gravy. A curry with real backbone.
This is the kind of intense, salty, spicy dish you eat in small amounts with plenty of rice. One forkful of fish and gravy seasons a whole mouthful of plain rice. That is the whole point. It is humble, thrifty food, born of making a little go a long way. And it remains a fiercely loved part of the Sri Lankan table, the curry many people crave most when they have been away from home.
The trick with dry fish is taming its salt without losing its character. Soak and rinse it, often give it a quick fry. That takes the edge off and firms up the pieces so they hold in the gravy. From there it is a robust curry: onions, garlic, plenty of chilli and curry powder, the sourness of goraka or tamarind to cut the richness, and coconut milk to round it all into a thick, glossy, deeply savoury sauce.
What Is Karawala (Dry Fish)?
Karawala is fish that has been salted and sun-dried until hard, a preservation method as old as the island's fishing villages. The drying concentrates the flavour into something intense, salty and almost smoky. It keeps for months without refrigeration, which is why it has always been a pantry staple. Types range from small whole fish to thick slabs of larger fish like balaya (tuna) and thora (seer).
Dry fish is heavily salted, so it almost always needs a little prep before cooking: a rinse, often a short soak in warm water, and sometimes a quick fry to soften it, firm it up and pull out some of the salt. Taste a tiny piece after soaking and adjust. You want savoury and punchy, not overwhelmingly salty. Handled right, karawala adds a depth to a curry that nothing else quite replicates.
What It Should Taste Like
It is deeply savoury and salty. Firm, concentrated fish in a thick, glossy coconut gravy that is fiery with chilli and tangy with goraka. Pungent and powerful, made to season a whole plate of rice a forkful at a time.
Ingredients
This recipe makes 4 servings. Change the number and every amount below updates with it. Substitutes for hard-to-find items are in the sidebar.
The US button converts grams, millilitres and centimetres to ounces, cups and inches. Spoon measures stay exactly as they are.
Open this in the recipe converter
Dry Fish
- Dry fish (karawala)rinsed and broken into pieces150 g
- Oilfor frying2 tbsp
Gravy
- Onionsliced1
- Garlicsliced3 cloves
- Gingergrated1 tsp
- Green chilliesslit2
- Curry leaves1 sprig
- Pandan (rampe)1 piece
- Sri Lankan roasted curry powder1 tbsp
- Chilli powder1-2 tsp
- Ground turmeric½ tsp
- Goraka or tamarind2 pieces, or 1 tbsp paste
- Thick coconut milk1 cup
- Water½ cup
Method
Follow these 5 steps. Each one explains not just what to do, but why it matters.
Ready to Start Cooking?
The screen shows one step at a time, with just the ingredients that step needs at your serving count, a timer you can tap, and your phone kept awake.
- 01
Soak and Rinse the Dry Fish
Give the dry fish a good rinse, then soak it in warm water for 10-15 minutes. Drain and break or cut it into bite-size pieces.
Dry fish is heavily salted to preserve it, so a rinse and a short soak are what make it pleasant to eat rather than punishing. The warm water softens the hard flesh and draws out the worst of the salt, while leaving plenty of that concentrated, savoury depth behind. Always taste a small piece after soaking so you know how much salt is left before you season the gravy.

Tip: Soak longer for a milder curry, less for a punchier one. Either way, don't add salt until you have tasted the fish.
- 02
Fry the Fish
Heat the oil, fry the dry fish pieces for a couple of minutes until they're lightly golden and firm, then lift them out and set aside.
That quick fry firms up the soaked fish so it holds its shape in the gravy instead of disintegrating, and it deepens the flavour with a little toasty colour. It also leaves behind a savoury, fish-scented oil you can build the rest of the curry on. Don't overdo it. You want the pieces firm and golden, not hard and dry.

Tip: Fry in the same pot you'll make the curry in. That way all that savoury flavour stays in the dish.
- 03
Build the Spice Base
In that same oil, fry the onion, garlic, ginger, green chilli, curry leaves and pandan until soft, then stir in the curry powder, chilli powder and turmeric for a few seconds.
Frying the aromatics in that fishy oil, then blooming the ground spices, gives you the deep base a strong curry like this needs. Let the onions soften and turn golden and the spices smell toasted before any liquid goes in. This is a bold curry, so don't be shy with the chilli. The dry fish can take it.

Tip: Keep the heat moderate so the spices toast rather than burn. Burned spices make the curry bitter.
- 04
Simmer with Goraka and Coconut Milk
Add the goraka or tamarind, the water and the fried fish, simmer for 5 minutes, then stir in the thick coconut milk and cook gently until the gravy goes thick and glossy.
The goraka or tamarind brings that sour edge to cut the richness and balance the salt, while the coconut milk rounds everything into a thick, savoury gravy. Add the coconut milk last and keep the heat gentle so it doesn't split. Let it reduce until the sauce clings to the fish and turns glossy. That gloss is when the flavours have concentrated.

Tip: If you're using goraka, the dark soaking water adds extra colour and sourness. With tamarind, stir in the paste to taste.
- 05
Rest and Serve
Take it off the heat, let it sit for a few minutes, then serve with plenty of plain rice.
Like many strong Sri Lankan curries, karawala hodi improves with a short rest, and even more the next day, as the fish soaks up the gravy and the flavours settle and deepen. Serve it in small amounts against a generous mound of rice. This is a curry that seasons the whole plate rather than something you eat by the bowlful.

Tip: Make it a day ahead if you can. Dry fish curry tastes even better after a night in the fridge.
Common Mistakes to Avoid
- Not soaking or tasting the dry fish first. That's how the curry ends up too salty.
- Skipping the sour goraka or tamarind. That's what balances the salt and richness.
- Boiling hard after the coconut milk goes in. That splits the gravy.
- Over-soaking or over-frying. Both leave the fish hard and flavourless.
Serving Ideas
- In small amounts with a big mound of plain or red rice. The classic way.
- As the bold, salty curry on a rice and curry plate, next to a mild vegetable.
- With a fresh coconut sambol to cool the heat.
Building a whole plate around it? Start from our seafood rice and curry menu, which sets out what to cook alongside it and in what order.
Storage and Make-Ahead
Keeps 4 to 5 days refrigerated and the flavour improves, since dry fish is already a preserved food. Reheat gently without boiling. It freezes for a month, though the texture firms up. It's a good make-ahead curry.
Two Ways to Cook It
Use ready-cut dry fish, soak and taste it, fry it briefly, then simmer it with onion, curry powder, chilli, tamarind and tinned coconut milk until thick. Go gently on the salt.
Use a good thick dry fish like thora or balaya, goraka for the sourness, freshly pressed coconut milk, and a clay pot. Let it rest overnight for the deepest flavour.
Lighter and Healthier Version
Dry fish curry is intensely flavoured, so a little really does go a long way. That alone keeps it light on the plate, and a few tweaks keep it there.
A Little Goes Far
Karawala is so concentrated and salty that you only need a small amount to flavour a whole pot. Let rice and vegetables do the heavy lifting for the rest of the meal.
Soak Out More Salt
A longer soak and a good rinse pull out more of the salt. That matters if you're watching sodium, so taste the fish before you season the gravy.
Lighten the Coconut
Use light coconut milk, or a mix of coconut milk and water, to cut the fat while the gravy stays savoury and glossy.
Lean Protein, Big Flavour
Dry fish is lean and high in protein. In modest amounts over rice and vegetables, it gives you a lot of flavour for very little fat.
Frequently Asked Questions
Sri Lankan dry fish curry, karawala hodi, is salted, sun-dried fish simmered in a spicy coconut and tamarind gravy with chilli, curry powder and goraka. It's intensely savoury and salty, eaten in small amounts with plenty of rice. Some call it salted fish curry.
Cooked It? Tell Us How It Went
Your notes on this sri lankan dry fish curry help the next person get it right: what you swapped, what you would do differently, where the recipe should have warned you. Tap a star if you are in a hurry, or write a few lines if you have a minute.
You Might Also Like
Sri Lankan Home Cooking Starter Pack
40 authentic Ceylon recipes made simple for foreign kitchens: spice guide, pantry checklist, substitute guide, 7-day meal plan and printable shopping lists.


