Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 cups (400 g) aged basmati rice
- 10 cups (2.4 L) water + 1.5 tbsp kosher salt for boiling
- Whole spices for rice: 1 bay leaf, 1-inch cinnamon, 2 green cardamom, 2 cloves, 1 star anise, 1 tsp cumin seeds, 8 peppercorns
- 2 large red onions (400 g), thinly sliced
- Neutral oil 1/3 cup (80 ml) + ghee 4 tbsp (56 g), divided
- Mixed veg: 2 cups cauliflower, 1 cup carrots, 1 cup green beans, 1 cup peas, 1 medium potato (200 g) in 3/4-inch cubes
- 2 medium tomatoes (240 g) diced; 2 tbsp ginger-garlic paste; 2 green chilies, slit
- Ground spices: 1/2 tsp turmeric, 1 tsp Kashmiri chili powder, 2 tsp coriander, 1 tsp garam masala, 1.5 tsp biryani masala (optional)
- 1/2 cup (120 g) plain whole-milk yogurt; 1.25 tsp kosher salt for masala
- Saffron 1/2 tsp threads (0.25 g) soaked in 1/3 cup (80 ml) warm milk
- 1 cup loosely packed mint + 1 cup cilantro, chopped
- Optional: 1 tsp kewra water or 1/2 tsp rose water
- Raita: 1.5 cups (360 g) yogurt, 1 medium cucumber (200 g) grated and squeezed, 2 tbsp cilantro, 1 tbsp mint, 1 tsp lemon juice, 1/2 tsp roasted cumin, 1/2 tsp salt
Do This
- 1. Rinse and soak rice 30 minutes. Boil in salted water with whole spices for 5–6 minutes until 70% cooked; drain.
- 2. Fry onions in 1/3 cup oil over medium-high 12–15 minutes until deep golden; drain. Reserve half for layering.
- 3. Make masala: in 2 tbsp ghee + 1 tbsp oil, bloom spices, sauté ginger-garlic and chilies, add tomatoes and ground spices, then yogurt. Add veg, salt, 1/2 cup water; cover 13–15 minutes until crisp-tender; reduce until thick.
- 4. Steep saffron in warm milk 10 minutes; chop mint and cilantro.
- 5. Layer in heavy pot: ghee smear, 1/3 rice, half masala, herbs, fried onions, saffron milk. Repeat. Top with remaining rice, ghee, saffron milk, kewra (optional).
- 6. Seal and steam (dum) on very low heat 25 minutes. Oven option: 350°F (175°C) for 25 minutes.
- 7. Rest 10 minutes; fluff gently. Mix raita ingredients and serve alongside.
Why You’ll Love This Recipe
- Restaurant-style aroma at home: saffron, mint, and fried onions make it unmistakably special.
- Perfectly fluffy basmati: parboiled and steamed so every grain stays long and separate.
- Balanced flavors: gentle heat, sweet caramelized onions, rich ghee, and bright herbs.
- Complete meal: hearty biryani plus a cool, crunchy cucumber raita.
Grocery List
- Produce: Red onions, garlic, ginger, green chilies, tomatoes, cauliflower, carrots, green beans, green peas, potato, mint, cilantro, lemon, cucumber
- Dairy: Whole-milk yogurt, milk, ghee
- Pantry: Aged basmati rice, neutral oil, saffron, bay leaves, cinnamon, cardamom (green and black optional), cloves, star anise, cumin seeds, peppercorns, turmeric, Kashmiri chili powder, ground coriander, garam masala, biryani masala (optional), kosher salt, black pepper, kewra or rose water (optional)
Full Ingredients
For the Rice
- 2 cups (400 g) aged basmati rice, rinsed until water runs clear and soaked 30 minutes
- 10 cups (2.4 L) water
- 1.5 tbsp kosher salt (for the boiling water)
- Whole spices: 1 bay leaf, 1-inch cinnamon stick, 2 green cardamom pods, 2 cloves, 1 star anise, 1 tsp cumin seeds, 8 black peppercorns
For the Fried Onions
- 2 large red onions (about 400 g), halved and thinly sliced
- 1/3 cup (80 ml) neutral oil
- Pinch of kosher salt
For the Vegetable Masala
- 2 tbsp ghee + 1 tbsp neutral oil
- Whole spices: 1 bay leaf, 2-inch cinnamon stick, 4 green cardamom pods, 4 cloves, 1/2 tsp cumin seeds
- 2 green chilies, slit lengthwise
- 2 tbsp ginger-garlic paste
- 2 medium tomatoes (240 g), diced
- 1/2 tsp ground turmeric
- 1 tsp Kashmiri chili powder
- 2 tsp ground coriander
- 1 tsp garam masala
- 1.5 tsp biryani masala (optional, for extra depth)
- 1/2 cup (120 g) plain whole-milk yogurt, whisked
- 1.25 tsp kosher salt
- Mixed vegetables: 2 cups cauliflower florets (200 g), 1 cup diced carrots (150 g), 1 cup 1-inch green beans (120 g), 1 cup peas (130 g), 1 medium waxy potato (200 g) in 3/4-inch cubes
- 1/2 cup (120 ml) water
Saffron Milk and Layering
- 1/2 tsp saffron threads (about 0.25 g), lightly crushed
- 1/3 cup (80 ml) warm milk
- 2 tbsp ghee, melted (for drizzling)
- 1 cup loosely packed mint leaves (about 15 g), chopped
- 1 cup loosely packed cilantro (about 20 g), chopped
- 1/2–2/3 cup fried onions (from above), for layering and garnish
- Optional: 1 tsp kewra water or 1/2 tsp rose water
Cucumber Raita
- 1.5 cups (360 g) plain whole-milk yogurt, chilled
- 1 medium English cucumber (200 g), coarsely grated and squeezed dry
- 2 tbsp finely chopped cilantro
- 1 tbsp finely chopped mint
- 1 tsp fresh lemon juice
- 1/2 tsp roasted ground cumin
- 1/2 tsp kosher salt (or to taste)
- Pinch of black pepper

Step-by-Step Instructions
Step 1: Rinse and Soak the Rice
Place the basmati rice in a large bowl and rinse under cold water, swishing with your fingers, until the water runs nearly clear (3–4 changes). Cover with fresh water and soak for 30 minutes. Drain well in a sieve just before boiling.
Step 2: Fry the Onions Until Deep Golden
Heat 1/3 cup (80 ml) neutral oil in a wide skillet over medium-high heat. Add the sliced onions and a pinch of salt. Fry, stirring every minute, until evenly deep golden and crisp at the edges, 12–15 minutes. Transfer to a paper towel–lined plate to drain. Reserve half for layering and half for garnish.
Step 3: Parboil the Rice with Whole Spices
In a large pot, bring 10 cups (2.4 L) water to a rolling boil with 1.5 tbsp kosher salt and the rice spices (bay leaf, cinnamon, cardamom, cloves, star anise, cumin seeds, peppercorns). Add the drained, soaked rice. Boil 5–6 minutes until the grains are 70% cooked—long, firm, and slightly opaque in the center. Drain immediately and spread briefly on a tray to steam off excess moisture. Discard visible whole spices if you like.
Step 4: Cook the Vegetable Masala
In a heavy Dutch oven or deep pot (that you will use for dum), heat 2 tbsp ghee and 1 tbsp oil over medium heat. Add the masala whole spices (bay leaf, cinnamon, cardamom, cloves, cumin seeds); let them crackle for 30 seconds. Stir in green chilies and ginger-garlic paste; cook 45–60 seconds until fragrant. Add tomatoes and 1/4 tsp of the salt; cook 3–4 minutes until soft and jammy. Sprinkle turmeric, Kashmiri chili powder, ground coriander, and garam masala (plus biryani masala if using); cook 30 seconds. Reduce heat to low, whisk in the yogurt, and stir until smooth (1 minute). Add carrots, beans, and potato with 1/2 cup water and the remaining salt (about 1 tsp). Cover and simmer over medium-low for 8 minutes. Add cauliflower and peas; cover and cook 5–6 minutes more until the vegetables are just tender but not mushy. Uncover and simmer 1–2 minutes to reduce until thick and glossy. Taste and adjust salt.
Step 5: Prepare Saffron Milk and Herbs
Warm the milk until just hot to the touch (do not boil). Lightly crush saffron between your fingers and stir into the warm milk; let steep 10 minutes for maximum color and aroma. Chop mint and cilantro. Preheat oven to 350°F (175°C) now if using the oven dum method.
Step 6: Layer the Biryani
Remove the masala pot from heat. If your pot is not suitable for dum, transfer to a heavy, oven-safe Dutch oven. Smear 1 tsp ghee on the bottom. Add roughly 1/3 of the parboiled rice in an even layer. Spoon on half the vegetable masala. Scatter 2–3 tbsp fried onions, 2–3 tbsp mint, and 2–3 tbsp cilantro. Drizzle 2–3 tbsp saffron milk. Repeat with another 1/3 rice and remaining masala, herbs, onions, and saffron milk. Finish with the last 1/3 rice. Drizzle the top with 2 tbsp melted ghee, the remaining saffron milk, and kewra or rose water if using.
Step 7: Seal and Steam (Dum)
Stovetop method: Cover the pot with a tight lid. For a stronger seal, wrap the rim with foil or a thin rope of dough before lidding. Place the pot over very low heat for 25 minutes, ideally on a heat diffuser or a spare skillet to prevent scorching. Oven method: Cover the pot tightly and bake at 350°F (175°C) for 25 minutes. In both cases, turn off heat and let the biryani rest, covered, for 10 minutes before opening.
Step 8: Fluff, Garnish, and Make the Raita
Gently fluff the biryani with a fork, lifting from the sides to keep layers intact. Top with the remaining fried onions and a shower of fresh herbs. For the raita, whisk yogurt until smooth, then fold in grated, squeezed cucumber, cilantro, mint, lemon juice, roasted cumin, salt, and a pinch of pepper. Chill until serving. Plate the biryani hot with a generous spoonful of cool raita.
Pro Tips
- Use aged basmati (12–24 months) for the longest, fluffiest grains.
- Salt your rice water well (like pasta water); you will drain it, but it seasons the grains perfectly.
- Do not overcook the rice before layering—70% done is the sweet spot so it finishes on dum.
- Place a skillet or tawa under the pot for stovetop dum to avoid hot spots and burning.
- Let the biryani rest 10 minutes after dum; this settles steam and keeps layers distinct.
Variations
- Paneer and Cashew: Add 250 g paneer cubes browned in ghee and 1/4 cup toasted cashews during the second layer.
- Vegan: Swap ghee and yogurt for neutral oil and unsweetened plant yogurt; use coconut milk (1/4 cup) in place of some yogurt for richness.
- Oven-Baked Only: Assemble in a Dutch oven, seal, and bake at 350°F (175°C) for 30 minutes; rest 10 minutes before fluffing.
Storage & Make-Ahead
Refrigerate biryani in an airtight container for up to 3 days. Reheat covered in a 300°F (150°C) oven for 15–20 minutes, or microwave gently with a splash of water. Biryani can be frozen up to 2 months; thaw overnight before reheating. Raita keeps 24 hours refrigerated (stir before serving). For a head start, fry onions and make the vegetable masala a day ahead; cook rice and assemble just before dum.
Nutrition (per serving)
Approximate: 520 kcal; 16 g fat; 80 g carbohydrates; 6 g fiber; 12 g protein; 900 mg sodium. Values will vary based on exact vegetables and salt used.


Leave a Reply