Chicken Biryani

Chicken Biryani
⏱️ cook time 1 hour 35 minutes
🍽️ servings 4
⚡ Difficulty medium

intro

Fragrant layered basmati rice and spiced tender chicken, slow-steamed with warm aromatics, saffron, and fresh herbs for a rich, classic Indian meal.

Ingredients

Long-grain basmati rice 500g (2.5 cups)
Bone-in skinless chicken thighs 700g, cut into 5cm chunks
Full-fat plain yogurt 200g (1 cup)
Ginger-garlic paste 3 tablespoons (45g)
Ghee (clarified butter) 4 tablespoons (60ml)
Yellow onions 400g (3 large), thinly sliced
Ripe tomatoes 200g (2 medium), finely chopped
Fresh mint leaves 1 cup (30g), chopped
Fresh coriander (cilantro) leaves 1 cup (30g), chopped
Whole milk 60ml (1/4 cup), warmed
Saffron strands 1 pinch (0.1g)
Turmeric powder 1 teaspoon (3g)
Red chili powder 1 teaspoon (3g)
Garam masala powder 2 teaspoons (6g), divided
Biryani masala powder 2 tablespoons (20g)
Table salt 2 tablespoons (30g), divided
Bay leaves 2 whole
Green cardamom pods 6, lightly crushed
Cinnamon stick 1 (5cm length)
Whole cloves 4 whole
Cumin seeds 1 teaspoon (3g)
Water 1.5 liters, for parboiling rice

Steps

1

Rinse and Soak Rice

First, rinse the long-grain basmati rice under cold running water until the water runs clear (no cloudy starchy residue), then cover with cold water and set aside to soak for 30 minutes at room temperature. Next, stir the saffron strands into the 60ml of warm whole milk and set aside to infuse for 10 minutes. In a large glass bowl, combine the cut chicken thighs, full-fat yogurt, ginger-garlic paste, turmeric powder, red chili powder, 1 tablespoon of salt, 1 teaspoon of garam masala, and half of the chopped mint and coriander. Toss until every chicken piece is evenly coated, then leave to marinate at room temperature for 30 minutes.

Step 1
step1:Rinse and Soak Rice
2

Fry Onions in Ghee

Place a heavy-bottomed 5-liter Dutch oven over medium heat (175°C/350°F), then add 3 tablespoons of ghee. Once the ghee is shimmering and hot, add the thinly sliced onions, and fry for 12-15 minutes, stirring every 2-3 minutes, until the onions are deep golden brown and crispy. Use a slotted spoon to transfer half of the fried onions to a paper-towel lined plate to drain and crisp up further, leaving the remaining half of the onions in the Dutch oven.

Step 2
step2:Fry Onions in Ghee
3

Sauté Whole Spices

Keep the Dutch oven over medium heat, and add the whole spices (bay leaves, crushed green cardamom, cinnamon stick, cloves, cumin seeds) to the remaining fried onions and ghee. Sauté for 30 seconds until the spices release a warm, nutty aroma, then add the finely chopped tomatoes. Cook the tomatoes for 5 minutes, stirring occasionally, until they break down completely into a thick, smooth paste. Add all the marinated chicken and its yogurt marinade to the pot, stir to combine fully, then bring to a gentle simmer. Reduce heat to medium-low (150°C/300°F), cover the pot, and cook for 15 minutes, stirring once halfway through, until the chicken is 70% cooked (firm but not yet tender all the way through) and the masala is thick with no watery pooling. Stir in the remaining 1 teaspoon of garam masala and all the biryani masala powder, then turn off the heat temporarily.

Step 3
step3:Sauté Whole Spices
4

Parboil Basmati Rice

While the chicken simmers, bring 1.5 liters of water to a rolling boil over high heat in a separate 3-liter pot, then add the remaining 1 tablespoon of salt and 1 remaining tablespoon of ghee. Drain the pre-soaked basmati rice completely, add it to the boiling water, and parboil for 5-6 minutes until the rice is 70% cooked: grains will be slightly translucent on the outside, with a firm, white starchy core when bitten into. Drain the parboiled rice immediately in a colander, taking care not to overcook it to a mushy texture.

Step 4
step4:Parboil Basmati Rice
5

Assemble Biryani Layers

Assemble the biryani layers directly in the Dutch oven over the chicken masala: first, spread half of the drained parboiled rice in a smooth, even layer over the chicken, taking care not to press the rice down. Sprinkle half of the reserved crispy fried onions and a quarter of the remaining chopped mint and coriander over this first rice layer. Add the rest of the parboiled rice as a second even top layer, drizzle the saffron-infused milk evenly across the entire rice surface, then scatter the remaining fried onions, mint, and coriander over the very top. Do not stir the layers together at this stage.

Step 5
step5:Assemble Biryani Layers
6

Seal Lid to Trap Steam

Seal the Dutch oven lid tightly to trap all steam inside: wrap the edge of the lid with a clean cotton kitchen towel before placing it on the pot, to block any gaps where steam could escape. Place the sealed pot over the lowest stovetop heat setting (120°C/250°F) and cook, covered, for 25 minutes. Do not lift the lid at any point during this cooking time, as escaping steam will prevent the rice from cooking evenly. After 25 minutes, turn off the heat, and let the biryani rest, still fully sealed, for 10 minutes.

Step 6
step6:Seal Lid to Trap Steam
7

Fluff the Rested Biryani

After the 10-minute resting period, carefully remove the lid (watch for escaping hot steam). Gently fluff the biryani with a long-handled fork, lightly combining the layers just enough to distribute the golden saffron-tinted rice, crispy onions, and tender chicken, taking great care not to mash the soft, cooked rice grains. Serve immediately while hot.

Step 7
step7:Fluff the Rested Biryani

Tips

1.Always use aged long-grain basmati rice for the fluffiest texture, and never fully cook the rice during parboiling—mushy, overcooked rice will ruin the signature separate-grain texture of good biryani.
2.A tight steam seal is non-negotiable for the traditional dum cooking step: if your Dutch oven lid is loose, add a layer of aluminum foil between the pot and the towel-wrapped lid to fully block steam escape.
3.For an extra authentic flavor boost, add 1 teaspoon of kewra (pandanus) water to the top rice layer before sealing the pot, to add a subtle, traditional floral aroma without overpowering the spices.

✨ You May Also Like

Main Course
🍜 United Kingdom

A showstopping classic of tender seared beef, savory mushroom duxelles, and crisp prosciutto wrapped in flaky golden puff pastry, baked to juicy perfection.

⏱️ 2 hours 1Main Course ★ 4.7
Main Course
🍜 India

Tender charred marinated chicken simmered in a rich, spiced creamy tomato sauce, this iconic Anglo-Indian curry pairs perfectly with basmati rice or warm naan.

⏱️ 50 minuteMain Course ★ 4.8
Main Course
🍜 Thailand

Classic tangy, sweet, and savory Thai stir-fried rice noodles with shrimp, tofu, and crunchy garnishes, balancing all five core Thai flavor profiles.

⏱️ 30 minuteMain Course ★ 4.6
Main Course
🍜 United Kingdom

Crispy golden beer-battered cod and fluffy double-fried chips, served with tangy tartar sauce and malt vinegar: the timeless, beloved British pub comfort classic.

⏱️ 45 minuteMain Course ★ 4.9
Main Course
🍜 Mexico

Smoky, chile-marinated pork tacos with caramelized pineapple, fresh cilantro, and lime: a beloved classic Mexican street food perfect for casual summer gatherings.

⏱️ 1 hour 45Main Course ★ 4.7
Main Course
🍜 United States

Crunchy Fritos corn chips layered with savory beef chili and melted cheddar, topped with cool, zesty fixings for a beloved, cozy Tex-Mex comfort food.

⏱️ 35 minuteMain Course ★ 4.9

Chicken Biryani:Frequently Asked Questions

1.Can I swap boneless, skinless chicken breasts for the bone-in chicken thighs this recipe calls for?
I totally get wanting to use what you have on hand, but bone-in skinless chicken thighs are ideal here—they stay ultra-tender through the slow, sealed steam cooking, don’t dry out, and add rich, savory depth to the spiced yogurt masala. If you must use breast, cut it into 2-inch chunks, cut marination time by 30 minutes, and check doneness 10 minutes early to avoid tough, dry meat.
2.How do I keep my basmati rice fluffy and separate instead of turning mushy in the finished biryani?
First, soak your long-grain basmati for 30 minutes before parboiling, and only cook it to 70% doneness—it should have a firm, al dente bite when you drain it, since it will finish cooking in the trapped steam. Never stir the layers once assembled, and seal your pot lid tightly to prevent excess moisture from dripping onto the rice and turning it gummy.

Comments (13)

2 days ago

OMG this biryani is SO good! I was nervous to try a Hyderabadi style because I’ve only had the takeout version near my apartment, but the layered rice and spice mix was spot on. My whole family demolished it at Sunday dinner, even my super picky 7 year old asked for seconds. 10/10 will make again for our next potluck!

1 week ago

Took me a little longer than the listed 1 hour 35 minutes because I prepped all the veggies and marinated the chicken for an extra 20 minutes, but totally worth it. The fried onions on top are a total game changer, I didn’t skip that step like I almost did. Perfect for meal prep too, it tastes even better the next day!

3 days ago

Solid recipe! I messed up the saffron milk ratio the first go around so the rice was a little lighter than I wanted, but the flavor was still incredible. Next time I’m gonna double the mint and cilantro like my mom used to add, but the base recipe is super easy to tweak even for a medium difficulty dish.

just now

Made this for my roommate’s birthday since he’s from Hyderabad and he said it tasted exactly like his grandma’s! I was so stressed I’d mess it up, but the step by step instructions were so clear. We ate the whole pot in one sitting lmao, no leftovers whatsoever.

30 minutes ago

Quick question! I don’t have a heavy bottomed dutch oven at home, can I use my regular non-stick stock pot with a tight lid for the dum cooking step? I don’t want the rice to burn on the bottom before it’s done steaming.

5 minutes ago

Great question! A tight-lidded non-stick stock pot works totally fine — just turn your heat to the lowest setting once you seal the lid, and you can place a tawa or flat griddle under the pot to distribute heat more evenly and prevent burning. Hope it turns out delicious!

2 weeks ago

Bro this recipe went crazy at my Super Bowl watch party last weekend. People kept coming back for thirds and asking me for the recipe left and right. I added a handful of fried cashews and raisins like I saw at my local Indian spot and it was chef’s kiss.

1 week ago

Oh I add cashews and raisins too! Such a good little textural add, I’m glad someone else does that instead of sticking exactly to the recipe 😂

yesterday

I was intimidated by the medium difficulty rating because I’m a total beginner cook, but this was way more straightforward than I thought! The only thing I struggled with was getting the seal right for the dum step, I used aluminum foil around the lid edge and it worked okay. Any tips for a better seal next time?

2 hours ago

So glad you gave it a shot even as a beginner! For a tighter dum seal, crimp a double layer of aluminum foil over the top of the pot before pressing the lid down, then weigh the lid down with a small heavy pot or can of beans to keep all the steam trapped inside. That’ll give you that perfect fluffy, fragrant rice every time!

5 days ago

Wait is there a way to make this less spicy? My kids can’t handle too much heat but they love chicken and rice dishes, I really wanna make this for our Friday family dinner.

3 days ago

I made this last month for my spice-intolerant kids! I cut the red chili powder in half, skipped the green chilies entirely, and added an extra tablespoon of yogurt to the marinade to mellow it out. They ate two full servings and didn’t complain about heat once!

2 hours ago

How long would you recommend marinating the chicken if I want to prep this the night before for meal prep? I usually do all my Sunday prep for the week and would love to cut down on weeknight cook time.

30 minutes ago

Great question! Marinating the chicken overnight in the fridge (up to 12 hours) is actually ideal! It lets all the yogurt and spices soak into the chicken so it’s extra tender and flavorful, and cuts down on your active cook time the next day. Just make sure to take the chicken out of the fridge 20 minutes before cooking so it comes up to room temp a little.

1 week ago

I’ve tried so many Hyderabadi biryani recipes online and this is the only one that actually tastes like the ones I had when I visited Hyderabad years ago! The balance of spices is perfect, not too heavy on the garam masala, and the chicken gets so tender. My kids loved it too, which is a miracle because they turn their nose up at most Indian food I make at home.

5 days ago

Agreed! I’ve been burned by so many recipes that are just spicy rice with chicken and no actual depth, but this one is legit. I made it for my in-laws who are super picky about biryani and they were seriously impressed.

3 days ago

That makes us so happy to hear! Getting that authentic Hyderabadi spice balance was the most important part when we tested this recipe, so it means a lot that it brings back good memories for you. So glad your kids enjoyed it too!

yesterday

Made a mistake and used basmati rice that was way too old, so it came out a little mushy, but even then the flavor was insane! I grabbed a fresh bag of long grain basmati on my grocery run today and I’m making it again tomorrow for my book club potluck. Fingers crossed it turns out perfect this time!

2 hours ago

Oh I did that my first time too! Learned the hard way that you have to soak the basmati for at least 30 minutes before cooking too, it makes such a difference in how fluffy the grains get.

30 minutes ago

Don’t worry, mushy rice happens to the best of us! Soaking the rice for 30 minutes as the other commenter mentioned, and making sure you don’t overboil it before the dum step, will give you those perfect separate, fluffy grains next time. Let us know how your book club batch turns out!

3 days ago

Wait can I substitute the chicken for paneer or veggies to make a vegetarian version? My sister is vegetarian and she’s coming over for dinner next week, I’d love to make this for her instead of making a separate main dish.

2 days ago

I made a veggie version last week! I used paneer cubes, diced potato, cauliflower, and carrots, and I only marinated the veggies for 20 minutes instead of the full 40 for chicken. It came out amazing, my meat-eating boyfriend preferred the veggie version even!

yesterday

Love that veggie swap! For paneer and veggie versions, just cut the dum cooking time down by about 5 minutes so the veggies don’t get too soft, and you’re good to go. We’re working on a dedicated vegetarian Hyderabadi biryani recipe to post soon too, so keep an eye out!

5 minutes ago

10/10, no notes. I made this on a random Tuesday night and my neighbor smelled it through the apartment wall and knocked on my door asking for a plate lmao. Ended up sending him home with two big tupperwares and he brought me over a six pack the next day to say thanks. Game changer for neighbor relations tbh.

just now

LMAO that’s so funny! I made this last month and my dog sat by the oven the entire cook time staring at the door, he was so desperate for a bite. I gave him a tiny piece of plain chicken from the batch and he did a little happy dance.

just now

That’s the best review we could ever ask for — great food bringing neighbors (and very good dogs) together! We love that this recipe is making it into random weeknight dinners, that’s exactly what we hoped for when we shared it.