Sri Lankan-Style Coconut Chicken Biryani
Bone-in chicken simmered in a fragrant coconut-milk masala with curry leaves and cardamom, layered under par-cooked basmati and sealed for dum steaming. The result is tender chicken, a creamy-spiced base and long, separate, aromatic grains topped with crisp golden onions.
- Prep
- 35 min
- Cook
- 1 hr 20 min
- Wait
- 1 hr 10 min
- Total
- 3 hr 5 min
- Makes
- 6 generous servings (one 6-quart pot)
Steps
Before you start
- Marinate the chicken at least 1 hour (up to 12 hours in the fridge). Plan the rice soak to overlap with it.
- Shake the can of coconut milk well before opening. Use full-fat coconut milk, not light, so the gravy doesn't turn thin.
- You need a wide, heavy 6-quart (5.5 L) pot with a tight lid, plus foil, to trap steam during the dum stage.
- The rice is only parboiled, to about 70% done. It finishes cooking in the steam, so don't boil it longer.
Marinate and soak
- In a large bowl, combine the yogurt, ginger, garlic, turmeric, chili powder, ground coriander, garam masala, lime juice and 2 tsp salt.
- Add the chicken and turn with your hands until every piece is coated.
- Cover and refrigerate for at least 1 hour.
- While it marinates, slice the onions, chop the tomatoes, cilantro and mint, and rinse the basmati until the water runs nearly clear.
- Soak the rice in cold water for 30 minutes, then drain well.
+ Show details− Hide details
Ready when: Chicken is evenly coated in a thick, orange-gold marinade
Tip: Don't marinate longer than 12 hours. The lime and yogurt acid will make the meat mushy.
Fry the onions
- Heat the coconut oil in the 6-quart pot over medium-high heat until shimmering.
- Add all the sliced onions with a pinch of salt and fry, stirring every minute or so, for 12 to 15 minutes.
- Lower the heat to medium as they color.
- When about half the onions are deep golden brown and crisp at the edges, lift roughly half (about a heaping cup) with a slotted spoon onto paper towels, leaving the oil in the pot.
- They will crisp as they cool.
- Leave the rest in the pot.
+ Show details− Hide details
Ready when: Onions are deep golden brown, not dark brown or bitter-smelling; removed ones turn crisp as they cool
Tip: Keep stirring near the end. Onions go from golden to burnt within a minute.
Build the masala base
- Reduce heat to medium.
- To the onions left in the pot, add the cinnamon stick, 6 cardamom pods, 4 cloves, curry leaves and slit green chilies.
- Stir for 30 to 40 seconds until the curry leaves crackle and the spices smell fragrant.
- Add the chopped tomatoes and cook, stirring and mashing, for 5 to 6 minutes until they collapse into a soft paste and the oil begins to glisten at the edges.
+ Show details− Hide details
Ready when: Tomatoes have broken down into a jammy paste with oil glistening at the edges
Tip: Curry leaves spit when they hit hot oil. Stand back and keep a lid handy.
Simmer chicken in coconut
- Raise heat to medium-high.
- Add the chicken with all its marinade and cook, stirring occasionally, for 5 minutes until the surface turns opaque.
- Pour in 250 ml (1 cup) of the coconut milk and stir in half of the chopped cilantro and mint.
- Bring to a gentle simmer, reduce the heat to medium-low, partially cover and cook for 15 minutes, stirring once or twice.
- Uncover for the last few minutes if the gravy looks thin.
- Level the chicken in an even layer and turn off the heat.
+ Show details− Hide details
Ready when: Chicken is about 80% cooked (firm, but still slightly pink at the bone) and the gravy is thick enough to cling to the meat, not watery
Tip: The gravy must be thick. A loose sauce will turn the bottom layer of rice to mush.
Parboil the rice
- While the chicken simmers, bring 12 cups (2.8 L) water to a rolling boil in a large pot with the salt, 4 cardamom pods, 3 cloves and the bay leaf.
- Add the drained rice, stir once and boil over high heat for 5 to 6 minutes.
- Test a grain: it should snap easily when pressed between your fingers but still have a firm, white pin-point core.
- Drain immediately in a colander without rinsing.
+ Show details− Hide details
Ready when: Grains are elongated and about 70% cooked, with a small hard white core
Tip: Err on the side of undercooked. Rice that is soft now will be mushy after dum.
Infuse the saffron
- Warm 60 ml (¼ cup) of the coconut milk in a small cup in the microwave for 15 to 20 seconds until warm, not hot.
- Stir in the crushed saffron and let it steep while you layer.
+ Show details− Hide details
Ready when: Milk turns a deep golden-orange
Tip: Skip the saffron if you don't have it. The biryani is still delicious with turmeric from the masala.
Layer the biryani
- Spread the chicken and gravy in an even layer across the bottom of the pot.
- Scatter the drained rice on top in a loose mound, without pressing down.
- Sprinkle with the reserved crisp onions and the remaining cilantro and mint.
- Drizzle the saffron coconut milk in streaks over the rice, then pour the remaining 90 ml (⅓ cup) of plain coconut milk and the melted ghee evenly over the surface.
- Poke 4 to 5 holes down through the rice with the handle of a wooden spoon so steam can travel.
+ Show details− Hide details
Ready when: Rice sits in a loose, even layer with saffron streaks across the top
Tip: Don't stir or press the rice. Packed rice steams unevenly.
Seal and dum
- Cover the pot with a sheet of foil pressed around the rim, then set the lid on firmly (weigh it down with a can if it rattles).
- Place over medium-high heat for 3 minutes, until you see steam escaping around the edges.
- Then turn the heat to the lowest setting, set the pot on a griddle or tawa if you have one, and cook undisturbed for 25 minutes.
+ Show details− Hide details
Ready when: A steady stream of steam and a rich aroma of cardamom and coconut; no burnt smell
Tip: Don't open the lid during dum. Escaping steam is the one thing that ruins the texture.
Rest the pot
- Turn off the heat and leave the pot sealed for 10 minutes so the steam settles and the rice firms up.
+ Show details− Hide details
Ready when: Rice has absorbed the surface moisture and no longer looks wet
Fluff and serveOven 165°F / 75°C
- Remove the foil and lid.
- Check that the thickest chicken piece reads 165°F (74°C) or higher at the bone.
- Use a wide spoon to lift from the bottom and gently fold the rice and chicken together, keeping grains whole.
- Serve hot with raita, cucumber-tomato salad or a squeeze of lime.
+ Show details− Hide details
Ready when: Chicken reads at least 165°F (74°C) and the juices run clear; rice grains are tender, long and separate
Tip: Fold from the bottom up in broad strokes to avoid breaking the rice.
Good to know
Tips
- Use aged basmati and rinse well. Fresh, starchy rice clumps and goes gluey.
- A wide, heavy pot and a flat griddle underneath prevent scorching of the bottom layer during dum.
- Taste the boiling rice water. It should taste pleasantly salty like the sea, since the rice absorbs the seasoning.
- For more heat, leave the seeds in the green chilies or add an extra 1 tsp chili powder to the marinade.
Make ahead
"Marinate the chicken up to 12 hours ahead, and fry the onions up to 1 day ahead (store the crisp ones in an airtight container at room temperature). The chicken masala (through step 4) can be cooked 1 day ahead and refrigerated; rewarm until simmering before layering with freshly parboiled rice."
Storage & reheating
"Room temperature: up to 2 hours after cooking. Refrigerator: airtight container for up to 3 days. Freezer: up to 2 months in portions. Reheat in the microwave, covered, with 1 to 2 tbsp water per portion for 2 to 3 minutes until steaming hot throughout (165°F / 74°C), or in a covered pan over low heat."
Substitutions
- bone-in, skinless chicken thighs and drumsticks → bone-in chicken breast pieces or goat/lamb. Breast cooks faster, so cut into large pieces and cut the gravy simmer to 10 minutes. Goat or lamb needs 45 to 60 minutes of simmering before layering.
- fresh curry leaves → 2 bay leaves plus 1 tsp lime zest. Won't taste identical, but gives a similar herbal aroma. Fresh curry leaves are strongly recommended.
- plain whole-milk yogurt → full-fat coconut yogurt. Use unsweetened for a dairy-free marinade and replace ghee with coconut oil.
- saffron threads → ¼ tsp ground turmeric. Gives colour but not saffron's perfume. Stir it into the warm coconut milk.
More biryani
See all →Find more like this
- Meal
- Dinner
- Cuisine
- South Indian
- Main ingredient
- Chicken ThighsBasmati Rice
- Method
- Stovetop
