Sri Lankan Chicken Curry: A Fragrant Coconut Recipe

Updated November 4, 2026

Total time
1 hr 50 min
prep 25 min · cook 55 min
Serves
4
portions as written
Safe temperature (USDA)
165°F / 74°C
check the thickest piece

Jump to recipe

Sri Lankan Chicken Curry: A Fragrant Coconut Recipe

Sri Lankan chicken curry is a warmly spiced curry made with chicken, roasted curry powder, aromatics and, in many versions, coconut milk. It is commonly served with rice, string hoppers or roti, and recipes vary by region and household in their spice level and use of coconut. This version uses bone-in chicken for a rich sauce and gives you practical swaps for ingredients that may be hard to find.

What You’ll Need

Ingredients

  • 2½ lb (1.1 kg) bone-in chicken pieces, preferably thighs and drumsticks
  • 2 tbsp (14 g) Sri Lankan roasted curry powder
  • 1½ tsp (9 g) fine salt, divided, plus more to taste
  • ½ tsp (1 g) ground black pepper
  • ½ tsp (1.5 g) ground turmeric
  • ½ tsp (1 g) hot chili powder, or less for a milder curry
  • 2 tbsp (30 ml) coconut oil or neutral cooking oil
  • 1 large onion, finely chopped, about 1½ cups (200 g)
  • 4 garlic cloves, finely chopped, about 1 tbsp (12 g)
  • 1 tbsp (15 g) finely grated fresh ginger
  • 2 green chilies, slit lengthwise, about ½ oz (15 g); remove seeds for less heat
  • 12 fresh curry leaves, or 1 bay leaf as a practical substitute
  • 1 piece pandan leaf, about 4 in (10 cm), optional
  • 1 cinnamon stick, about 2 in (5 cm)
  • 2 medium tomatoes, chopped, about 2 cups (300 g)
  • ½ cup (120 ml) water, plus a little more if needed
  • 1 can coconut milk, 13.5 oz (400 ml), well shaken
  • 1 tbsp (15 ml) lime juice, plus extra wedges to serve

Roasted Sri Lankan curry powder is often sold in South Asian or online grocery shops. It has a toasted, complex flavor that is not identical to standard curry powder. If you cannot find it, use Madras curry powder; the result will still be tasty but may be less smoky and will have a different spice balance. Curry leaves add a distinctive citrusy, herbal note. If unavailable, use a bay leaf for gentle fragrance, or leave them out rather than adding more dried herbs. Pandan is also optional; omit it if you cannot source it.

Step-by-Step

  1. Season and marinate the chicken. Pat the chicken dry with paper towels and place it in a bowl. Add the curry powder, 1 tsp (6 g) of the salt, black pepper, turmeric and chili powder. Rub the seasoning over all sides of the pieces. Cover and refrigerate for 30 minutes. This short rest gives the spices time to cling to the chicken; if you need to save time, you can cook it straight away, though the flavor will be a little less developed.
  2. Prepare the aromatics while the chicken rests. Chop the onion, garlic and tomatoes, grate the ginger, and slit the green chilies. If using pandan, cut it into a manageable strip. Set everything beside the stove before you begin cooking, since the onion and spices need attention once they hit the pan.
  3. Soften the onion and build the fragrant base. Heat the coconut oil in a heavy pot or Dutch oven over medium heat. Add the onion, curry leaves, pandan if using, and cinnamon stick. Cook for 6 to 8 minutes, stirring often, until the onion is soft and translucent with lightly golden edges. It should not be deeply browned or burnt; lower the heat if it colors too quickly.
  4. Add ginger, garlic and chilies. Stir them into the onion and cook for about 1 minute, just until fragrant. Add the chopped tomatoes and the remaining ½ tsp (3 g) salt. Cook for 5 to 7 minutes, stirring and pressing the tomatoes occasionally, until they soften and begin to form a thick, pulpy base. If the mixture sticks, add a tablespoon of water rather than turning the heat up sharply.
  5. Brown the seasoned chicken lightly. Add the chicken and any spice mixture left in its bowl. Turn the pieces in the tomato-onion base for 3 to 4 minutes so the surfaces are coated and begin to lose their raw appearance. This is for flavor, not to cook the chicken through. Avoid crowding the pot; if your pot is small, turn the pieces in batches and return them all before the next step.
  6. Simmer until the chicken is nearly tender. Pour in ½ cup (120 ml) water and stir, scraping any browned bits from the bottom. Bring it just to a simmer, cover, and cook over low to medium-low heat for 30 minutes. Check after 15 minutes and turn the pieces once. Keep the liquid at a gentle bubble; a hard boil can make the meat tough and cause the sauce to catch on the bottom.
  7. Add coconut milk and finish cooking. Stir in the shaken coconut milk. Leave the pot uncovered and simmer gently for about 15 minutes, turning the chicken once, until the sauce is glossy and the meat is tender. Check the thickest part of a large piece with a food thermometer, without touching bone: the USDA FSIS safe minimum internal temperature for poultry is 165°F (74°C). If it has not reached that temperature, keep simmering and check again after a few minutes.
  8. Balance and serve. Remove the cinnamon stick, pandan and bay leaf if used. Stir in the lime juice, taste the sauce, and add salt or a little more lime as needed. If it is thicker than you like, stir in hot water a tablespoon at a time. Serve hot with steamed rice, roti or string hoppers, with lime wedges and a mild vegetable side if desired.

Common Mistakes

Cooking the spices over excessive heat: Curry powder, garlic and chili can turn bitter if scorched. Use medium heat for the onion, then reduce it if the pot is smoking or the spices darken rapidly. The tomatoes and water should loosen the base before it sticks.

Using lean, boneless chicken without adjusting the timing: Boneless breast cooks faster and can dry out during a long simmer. Bone-in thighs and drumsticks are forgiving and contribute flavor to the sauce. If using boneless thighs, start checking them earlier and use a thermometer to confirm they reach 165°F (74°C).

Boiling hard after adding coconut milk: A rolling boil can make the sauce look greasy or separated. Keep it at a gentle simmer and stir now and then. A slightly separated sauce is still usable, but steady low heat helps keep the coconut milk smooth.

Adding all the chili without tasting: Chili powders and fresh chilies vary in strength. Start with the suggested amount, then add heat gradually at the end if needed. You can add more chili to the pot, but it is difficult to take it back out.

Tips

Use chicken pieces that are similar in size so they cook at roughly the same rate. If your butcher has left very large pieces, separate them at the joints or allow extra simmering time, checking each piece rather than relying only on the clock. Keep the lid on during the first simmer to reduce evaporation and help the chicken cook evenly.

For deeper flavor, marinate the seasoned chicken in the refrigerator for up to 8 hours. Keep it covered and do not leave raw chicken at room temperature to marinate. When ready to cook, proceed directly to the aromatics; the marinating time does not replace the cooking time or the temperature check.

Adjust the consistency to suit how you plan to serve the curry. A thicker sauce clings well to roti, while a looser one is useful with rice. Simmer uncovered for a few extra minutes to reduce a thin sauce, or add hot water gradually if it becomes too thick. Taste after each adjustment, because reducing the sauce also concentrates its salt and spices.

For a fuller meal, serve the curry with plain rice and a simple vegetable dish such as sautéed greens or green beans. A cooling cucumber salad or plain yogurt can balance a particularly hot batch. Refrigerate leftovers within 2 hours in a covered container; they keep for 3 to 4 days in the refrigerator. Reheat only the portion you plan to eat until it reaches 165°F (74°C), checking with a food thermometer.

Troubleshooting

The curry tastes flat: First check the salt, since under-seasoning can hide the other flavors. Add salt in small pinches, then try a little lime juice to brighten the sauce. If the flavor still seems muted, simmer gently for several more minutes so the spices blend into the coconut milk. Avoid adding a large amount of curry powder at the end, which can taste raw.

The sauce is too thin: Remove the lid and simmer gently until it reduces to the consistency you want, stirring more often near the end. Do not add flour or starch unless you specifically want a thicker, less traditional texture. If the chicken is already fully cooked, lift it out temporarily so it does not overcook while the sauce reduces.

The sauce is too thick or sticking: Stir in hot water a little at a time and scrape the bottom with a wooden spoon. If the bottom has scorched, transfer the unburnt curry to a clean pot without scraping the burnt layer into it. Lower the heat and stir more frequently.

The chicken is still under temperature or feels tough: Return it to a gentle simmer and cook in 5-minute increments, checking the thickest pieces with a thermometer until they reach 165°F (74°C). Toughness can mean the pieces need more time to soften, but temperature—not appearance or tenderness alone—is the safety check. Add a splash of water if the sauce is reducing too much while the chicken finishes.

The curry is hotter than expected: Stir in a little extra coconut milk or water and serve it with plain rice or another mild side. A small squeeze of lime can make the flavors feel more balanced, but it will not remove the heat. For next time, reduce the chili powder and remove the seeds from the green chilies.

Frequently Asked Questions

Can I make Sri Lankan chicken curry with boneless chicken?
Yes. Boneless thighs work better than breast for a longer simmer. They may cook faster than bone-in pieces, so begin checking their temperature early and stop cooking once they reach 165°F (74°C).

Can I make the curry without coconut milk?
Yes, though it will be less creamy and will taste different from this version. Use water or chicken broth in place of the coconut milk and adjust the salt at the end. The sauce will be lighter, with the roasted spices and tomatoes more prominent.

What can I use instead of Sri Lankan curry powder?
Madras curry powder is the most practical substitute. Since blends vary in heat and salt, start with the listed amount and taste the sauce before adding more. The final curry will not have exactly the same roasted, regional flavor, but the method works.

Can I prepare it ahead?
Yes. Cook the curry, cool it promptly, and refrigerate it in a covered container within 2 hours. It keeps for 3 to 4 days. Reheat it until the center reaches 165°F (74°C); add a splash of water if the chilled sauce has thickened.

What should I serve with Sri Lankan chicken curry?
Steamed rice is an easy choice, while roti or string hoppers are also common accompaniments. Add a mild vegetable side or a fresh salad if you want a broader meal. Lime wedges let each person brighten their serving to taste.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).