Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 cups (400 g) aged basmati rice, rinsed and soaked 30 minutes
- 3 large yellow onions, thinly sliced
- 3 tbsp ghee + 2 tbsp ghee (or neutral oil), divided
- Whole spices: 2 bay leaves, 6 green cardamom pods, 6 cloves, 1 cinnamon stick (3-inch), 1 tsp cumin seeds
- 1/2 tsp saffron threads + 1/4 cup warm whole milk
- 2 lb bone-in, skinless chicken thighs/drumsticks
- Marinade: 1 cup plain yogurt, 2 tbsp lemon juice, 2 tbsp ginger-garlic paste, 2 tsp Kashmiri chili, 1.5 tsp turmeric, 2 tsp coriander, 1 tsp cumin, 2 tsp gluten-free garam masala, 1.5 tsp fine salt, 2 tbsp mint, 2 tbsp cilantro
- Raita: 1.5 cups yogurt, 1 medium cucumber (grated and squeezed), 1 tbsp mint, 1 tbsp cilantro, 1/2 tsp roasted cumin (GF), salt, pinch Kashmiri chili
Do This
- 1. Marinate chicken 30 minutes (up to overnight). Soak saffron in warm milk 15 minutes.
- 2. Rinse and soak rice 30 minutes; boil in salted water with whole spices until 70% cooked (5–6 minutes). Drain.
- 3. Caramelize onions in 3 tbsp ghee over medium heat until deep golden (14–18 minutes). Reserve.
- 4. Sear marinated chicken in 1 tbsp ghee until lightly browned (4–5 minutes per side). Deglaze with 1/4 cup water.
- 5. Layer: half rice, all chicken with juices, half onions; then remaining rice and onions. Drizzle saffron milk and 1 tbsp ghee. Scatter mint/cilantro.
- 6. Seal pot; steam on lowest heat 25 minutes (or bake at 350°F/175°C for 25 minutes). Rest 10 minutes. Fluff and serve with raita.
Why You’ll Love This Recipe
- Classic chicken biryani flavors with only gluten-free ingredients, including GF spice blends.
- Fluffy, fragrant basmati layered with saffron, caramelized onions, and juicy spiced chicken.
- Two easy “dum” options: stovetop or oven—both home-cook friendly.
- Cooling cucumber-mint raita ties everything together and balances the spice.
Grocery List
- Produce: 3 large yellow onions; fresh cilantro; fresh mint; 1 lemon; 1 medium cucumber; optional green chilies.
- Dairy: Plain full-fat yogurt; whole milk (for saffron); ghee (or use neutral oil).
- Pantry: Aged basmati rice (labeled gluten-free); bone-in chicken thighs/drumsticks; saffron threads; whole spices (bay leaves, green cardamom, cloves, cinnamon stick, cumin seeds); ground spices (turmeric, coriander, cumin, Kashmiri chili, gluten-free garam masala); fine sea salt; black pepper.
Full Ingredients
For the Rice
- 2 cups (400 g) aged basmati rice, rinsed until water runs clear and soaked 30 minutes
- 3 quarts (2.8 L) water
- 1.5 tbsp kosher salt (for boiling water)
- 2 bay leaves
- 6 green cardamom pods, lightly crushed
- 6 whole cloves
- 1 cinnamon stick (3-inch/7.5 cm)
- 1 tsp cumin seeds
Saffron Milk
- 1/2 tsp saffron threads
- 1/4 cup (60 ml) warm whole milk
Chicken & Marinade
- 2 lb (900 g) bone-in, skinless chicken thighs/drumsticks
- 1 cup (240 g) plain full-fat yogurt (gluten-free)
- 2 tbsp lemon juice
- 2 tbsp ginger-garlic paste (ensure gluten-free)
- 2 tsp Kashmiri chili powder (or 1 tsp paprika + 1/2 tsp cayenne)
- 1.5 tsp ground turmeric
- 2 tsp ground coriander
- 1 tsp ground cumin
- 2 tsp gluten-free garam masala
- 1.5 tsp fine sea salt
- 2 tbsp finely chopped fresh mint
- 2 tbsp finely chopped fresh cilantro
For the Pot & Layering
- 3 large yellow onions, thinly sliced
- 3 tbsp ghee (or neutral oil), for onions
- 1 tbsp ghee, for searing chicken
- 1 tbsp ghee, for drizzling on top
- 1/4 cup (60 ml) water, for deglazing
- 2 tbsp chopped cilantro + 2 tbsp chopped mint, for layering
Cooling Cucumber-Mint Raita (Gluten-Free)
- 1.5 cups (360 g) plain yogurt
- 1 medium cucumber, grated and squeezed dry
- 1 tbsp finely chopped mint
- 1 tbsp finely chopped cilantro
- 1/2 tsp roasted ground cumin (gluten-free)
- 1/4 tsp Kashmiri chili powder (optional)
- 1/4–1/2 tsp salt, to taste
- 1 tsp lemon juice

Step-by-Step Instructions
Step 1: Marinate the chicken with gluten-free spices
In a large bowl, combine yogurt, lemon juice, ginger-garlic paste, Kashmiri chili, turmeric, coriander, cumin, gluten-free garam masala, salt, mint, and cilantro. Add chicken and coat thoroughly. Cover and refrigerate at least 30 minutes (up to 12 hours). For best timing, start soaking the rice while the chicken marinates.
Step 2: Rinse and soak the rice; bloom saffron
Rinse rice in several changes of cold water until mostly clear, then soak in fresh cold water for 30 minutes. Meanwhile, warm the milk and crush saffron gently between your fingers; stir into the milk and set aside to bloom for at least 15 minutes.
Step 3: Caramelize the onions
Heat 3 tbsp ghee in a heavy 5–6 qt (4.7–5.7 L) Dutch oven over medium heat. Add the sliced onions and a pinch of salt. Cook, stirring often, until deep golden-brown with sweet caramelized edges, 14–18 minutes. Transfer onions to a plate; leave the pot and any browned bits for the chicken.
Step 4: Parboil the rice with whole spices
Bring 3 quarts water to a boil in a large pot. Add 1.5 tbsp kosher salt, bay leaves, cardamom, cloves, cinnamon, and cumin seeds. Drain the soaked rice and add to the boiling water. Cook until the grains are 70% cooked—soft on the outside with a firm center—about 5–6 minutes. Drain immediately and discard or reserve whole spices as desired.
Step 5: Sear the marinated chicken and deglaze
Return the Dutch oven to medium-high heat and add 1 tbsp ghee. Lift chicken from the marinade (reserve excess marinade) and sear 4–5 minutes per side until lightly browned. Pour in 1/4 cup water and scrape up browned bits. Stir in any reserved marinade, then turn off heat. The chicken will finish cooking during the steam.
Step 6: Layer and steam (“dum”)
Remove half the chicken to a plate so you can layer. In the pot, spread half the parboiled rice over the chicken, followed by half the caramelized onions and half the chopped herbs. Add the remaining chicken and juices, then top with the rest of the rice and onions. Drizzle saffron milk evenly and dot with the remaining 1 tbsp ghee. Cover the pot tightly with foil and a lid.
Stovetop: Set the pot over the lowest heat (use a heat diffuser or place on top of a wide skillet). Steam for 25 minutes. Oven option: Bake at 350°F (175°C) for 25 minutes. The chicken should reach 165°F (74°C) at the thickest part.
Step 7: Rest, fluff, and serve with raita
Turn off heat and rest covered for 10 minutes. Gently fluff the top layer with a fork, working in broad scoops to keep grains intact. For the raita, combine yogurt, grated-and-squeezed cucumber, mint, cilantro, roasted cumin, salt, chili powder (if using), and lemon juice. Taste and adjust salt. Serve biryani hot with raita on the side and extra herbs on top.
Pro Tips
- Use aged basmati rice—soaking ensures long, separate grains. Don’t skip it.
- Salt the rice water like the sea; under-seasoned rice is the most common mistake.
- For guaranteed gluten-free results, choose certified GF spices and blends; many commercial garam masalas can be cross-contaminated.
- Prevent scorching: use a heavy pot and the lowest possible heat, or the oven method.
- Resist stirring after steaming; scoop in layers to keep the rice fluffy and distinct.
Variations
- Dairy-Free: Swap yogurt with plain coconut yogurt and ghee with neutral oil. Use warm water instead of milk for saffron.
- Spicier Hyderabadi-Style: Add 2–3 slit green chilies to the onions and increase Kashmiri chili to 1 tbsp.
- Oven-Only Biryani: Assemble in a Dutch oven, cover, and bake at 350°F (175°C) for 30 minutes, then rest 10 minutes.
Storage & Make-Ahead
Marinate chicken up to 12 hours ahead. Caramelize onions 2 days in advance and refrigerate. Leftover biryani keeps 3–4 days in the fridge or up to 2 months in the freezer. Reheat covered with a splash of water in a 300°F (150°C) oven for 15–20 minutes, or microwave gently. Raita is best within 2–3 days. As always, maintain strict gluten-free practices to avoid cross-contact: clean cookware, fresh oil, and certified GF spices.
Nutrition (per serving)
Approximate: 520 calories; 28 g protein; 18 g fat; 62 g carbohydrates; 2 g fiber; 930 mg sodium. Values will vary based on specific brands and how much marinade/ghee is retained.

