Method
Soak the rice and bloom the saffron

Rinse 300 g of aged basmati rice in several changes of cool water until the water is only lightly cloudy. Cover the rice with fresh cool water and soak for 20 minutes, then drain. While it soaks, warm 60 ml of whole milk just until steaming, crush 0.1 g of saffron threads between clean fingers, and stir it into the milk. Set the saffron milk aside to deepen in color.
20:00Season the chicken
Place 700 g of boneless skinless chicken thighs in a large bowl. Mince 5 garlic cloves, grate 20 g of fresh ginger, and split 2 green chiles lengthwise; add them to the bowl with 180 g of plain whole-milk yogurt, 30 ml of lemon juice, 4 g of garam masala, 4 g of ground coriander, 2 g of ground cumin, 1 g of ground turmeric, 2 g of Kashmiri chile powder, and half of 10 g of kosher salt. Mix until every piece is coated. Set the bowl on a rimmed tray away from the herbs and other ready-to-eat ingredients, wash hands and clean the work surface, and let the chicken stand for 20 minutes while the onions cook.
20:00Brown the onions

Slice 300 g of yellow onions into thin, even half-moons. Heat 15 ml of neutral oil in a wide heavy pot over medium heat. Add the onions and cook for 12 to 15 minutes, stirring more often as they darken. Begin checking at 12 minutes; they are ready when deep golden at the edges and soft throughout. Transfer about one-third to a clean plate for the final layer; leave the rest in the pot.
12:00Bloom the cumin seeds
Add 2 g of cumin seeds to the browned onions left in the pot and stir over medium heat for 30 seconds, until the seeds smell fragrant.
00:30Soften the tomato
Chop 150 g of ripe tomato, add it to the pot, and cook for 3 to 4 minutes, stirring and scraping the bottom, until the tomato softens and begins to merge with the onions.
03:00Cook the chicken covered
Add the marinated chicken and all of its marinade to the pot, spreading the pieces in one layer. Cover and cook over medium-low heat for 15 minutes, stirring once midway. Use only clean utensils after the raw chicken has gone into the pot, and do not reuse the marinade bowl unless it has been thoroughly washed.
15:00Thicken the chicken masala

Uncover the pot and cook for 5 to 8 minutes more, stirring gently, until the sauce is thick enough to coat the chicken. Use a clean food thermometer to check the thickest pieces; the chicken must reach 74°C/165°F before rice is layered over it.
05:00Parboil the basmati

Bring a large pot of water to a vigorous boil. Lightly crush 6 green cardamom pods and add it with 6 whole cloves, 1 cinnamon stick, 2 bay leaves, and 10 g of kosher salt—use the half not added to the chicken marinade. Add 300 g of aged basmati rice after draining it and boil for 5 to 7 minutes, stirring once or twice. Begin checking at 5 minutes: the outside of a grain should be tender, but a broken grain should still show a small opaque core. Drain immediately and shake the colander gently so excess water does not follow the rice into the biryani.
05:00Layer the biryani

Level the cooked chicken and masala in the heavy pot. Spread the drained rice over it without packing the grains. Drizzle over the saffron milk and 30 g of ghee. Tear 15 g of fresh mint and roughly chop 15 g of fresh cilantro, then scatter both over the rice with the reserved browned onions.
Steam the biryani
Cover the pot tightly; place a sheet of foil beneath the lid if the lid is loose. Cook over the lowest heat for 20 minutes without opening the pot.
20:00Rest the biryani covered
Turn off the heat and leave the pot covered for 10 minutes so the steam settles and the grains firm up.
10:00Lift the layers and serve
Open the lid away from your face. Slide a broad spoon down the side of the pot and lift from the bottom so each serving includes chicken, masala, and rice without vigorously mixing the grains. Remove the cinnamon stick and bay leaves as you find them. Serve immediately with cucumber raita (optional).
Smart Substitutions
- No saffron? Use a small pinch of turmeric in the warm milk for color; the flavor will be earthier and less floral.
- No ghee? Use the same amount of neutral oil or unsalted butter.
- Prefer bone-in chicken? Use small skinless thigh pieces and extend the covered chicken cooking time as needed, still verifying 74°C/165°F with a food thermometer.
- No fresh mint? Use extra cilantro and add a small pinch of dried mint to the chicken marinade.
Tips and Variations
- Slice the onions evenly so they brown at the same pace instead of leaving pale pieces beside scorched ones.
- Drain the rice as soon as a broken grain shows a narrow opaque center; fully cooked rice is likely to soften too much during the final steam.
- Set the pot over a heat diffuser or a dry heavy skillet during the final steam when your burner runs hot or the pot has a thin base.
What Went Wrong?
- Rice is soft or clumped The rice was probably boiled too far or carried excess water into the pot. Check earlier next time and drain it thoroughly.
- Rice is still firm Sprinkle a small splash of boiling water around the edge, cover tightly, and steam over very low heat until the grains are tender.
- Bottom layer is catching Lower the heat immediately and place a heavy skillet beneath the pot to soften direct heat.
- Flavor tastes muted Lift a portion from the bottom where the masala sits, then adjust with a squeeze of lemon and a light pinch of salt at the table.
Nutrition Estimate
- Fiber: 4 g per serving
- Sodium: 1130 mg per serving
Nutrition disclaimer:This recipe is provided for general cooking information only. Nutrition values are estimates and may vary by ingredients, brands, preparation methods, and serving sizes. Check ingredient labels and follow appropriate food-safety practices. This content is not medical, dietary, allergy, or professional food-safety advice.
FAQ
Found an error or have a suggestion?
Help us improve this recipe. Send us your feedback and include the recipe name so we can take a look.








