This is the real deal: chicken marinated in spiced yoghurt, part-cooked basmati, then layered and steamed together so every grain drinks up the flavour. The dum method keeps the chicken tender and the rice perfumed with saffron and whole spices.
Biryani rewards patience, not fuss. The secret is treating rice and chicken as two elements you bring together at the end: marinate the chicken hard, boil the basmati until barely done, then layer and steam so the grains finish in fragrant chicken steam. Get those three stages right and you’ll have a biryani that beats any takeaway.
Ingredients
- 500g basmati rice — rinsed until the water runs clear
- 800g boneless chicken thighs (1lb 12oz) — cut into large chunks; thighs stay juicier than breast
- 250g full-fat natural yoghurt
- 3 onions — 2 finely sliced, 1 for the base
- 4 tbsp ghee or vegetable oil
- 2 tbsp ginger-garlic paste — or 1 tbsp each of grated ginger and garlic
- 2 tbsp biryani or garam masala — plus 1 tsp ground turmeric and 1 tsp chilli powder
- 1 cinnamon stick — with 4 green cardamom pods, 4 cloves and 2 bay leaves
- 1 tsp cumin seeds
- 1 large pinch saffron threads — soaked in 4 tbsp warm milk
- 1 small bunch fresh coriander — roughly chopped
- 1 small bunch fresh mint — leaves picked
- 1 lemon — juiced
- 1 tsp salt — plus more for the rice water
Method
- Marinate the chicken: mix the yoghurt, ginger-garlic paste, biryani masala, turmeric, chilli powder, lemon juice and 1 tsp salt in a bowl. Fold through the chicken, cover and leave for at least 20 minutes (overnight in the fridge is even better).
- Fry the onions: heat the ghee in a large heavy pan and fry the sliced onions over medium heat, stirring often, until deep golden and crisp, about 12-15 minutes. Lift out half onto kitchen paper to use as garnish, leaving the rest in the pan.
- Cook the chicken base: add the cumin seeds and whole spices to the pan and let them sizzle for 30 seconds. Tip in the marinated chicken and cook over medium-high heat until the yoghurt splits and thickens into a glossy sauce, about 10 minutes. It should smell rich and spiced.
- Par-boil the rice: while the chicken cooks, bring a large pot of well-salted water to a rolling boil. Add the drained rice and boil for 5-6 minutes until the grains are soft on the outside but still firm in the centre. Drain well.
- Layer up: spread the par-boiled rice evenly over the chicken. Scatter over the reserved fried onions, most of the coriander and mint, then drizzle the saffron milk across the top so it streaks the rice.
- Steam (dum): cover the pan with a tight lid (lay foil under it to seal if needed) and cook on the lowest heat for 20-25 minutes. The rice should be fluffy and the chicken cooked through with no pink and its juices running clear.
- Rest and serve: take off the heat and leave sealed for 5 minutes. Fluff gently with a fork, lifting from the bottom to bring the chicken up through the rice, and scatter with the last of the herbs.
Serve it with
- Cooling cucumber and mint raita
- Kachumber salad of chopped onion, tomato and cucumber
- Warm naan or roti
- A tangy tamarind or mango chutney
- Poppadoms
Why this works
Par-boiling the rice separately then finishing it over the chicken means the grains stay long and separate while soaking up steam flavour, and the yoghurt marinade tenderises the thighs so they never dry out during the long steam.
Common swaps
- Swap chicken thighs for bone-in pieces for deeper flavour, adding 10 minutes to the steam
- No saffron? Use a pinch of turmeric in the warm milk for colour, or skip it
- Use paneer or chickpeas instead of chicken for a vegetarian version
- Shop-bought crispy fried onions save time in place of frying your own
Common mistakes to avoid
- Fully cooking the rice before layering: it turns to mush during the steam, so keep it firm in the centre
- Steaming over too high a heat, which scorches the base before the rice is done
- Skimping on the marinade time, leaving the chicken bland and tougher
- Stirring the biryani while it cooks, which breaks the grains and muddies the layers
Storage, freezing & reheating
Storage: Cool leftovers quickly and refrigerate in an airtight container for up to 3 days.
Freezing: Freezes well for up to 2 months in a sealed container; defrost fully in the fridge before reheating.
Reheating: Sprinkle over a little water, cover and reheat gently on the hob or in the microwave until piping hot throughout.
Allergen notes: contains Milk. Always check individual product labels.
Estimated nutrition
Per serving, estimated from typical ingredient values — not a substitute for precise dietary calculation.
| Calories | 580 kcal |
|---|---|
| Protein | 34 g |
| Carbohydrate | 68 g |
| Fat | 19 g |