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)
Share

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.
  1. 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

    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.

  2. 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

    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.

  3. 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

    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.

  4. 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

    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.

  5. 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

    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.

  6. 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

    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.

  7. 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

    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.

  8. 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

    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.

  9. 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

    Ready when: Rice has absorbed the surface moisture and no longer looks wet

  10. 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

    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
Method
Stovetop

Reviews (0)