Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 kg bone-in lamb shoulder/leg, cut into chunks
- 3 cups (600 g) basmati rice
- 3 large onions, thinly sliced
- 3/4 cup (180 ml) plain full-fat yogurt
- 2 tbsp ginger-garlic paste
- 3 tbsp ghee + 1 cup neutral oil (for frying onions)
- 1/2 tsp saffron threads + 1/4 cup (60 ml) warm milk
- Fresh cilantro and mint leaves
- Whole spices: bay leaves, green cardamom, cloves, cinnamon, cumin seeds, black peppercorns
- Ground spices: turmeric, Kashmiri red chili powder, garam masala, coriander, cumin
- Lemon juice, salt, optional green chilies and rose/kewra water
Do This
- 1. Marinate lamb with yogurt, ginger-garlic, ground spices, lemon juice, herbs, and salt for at least 1 hour (up to 24 hours in the fridge).
- 2. Fry thinly sliced onions in hot oil until deep golden and crisp; drain and set aside, reserving 3–4 tbsp of the oil.
- 3. Soak basmati rice 30 minutes, then parboil in salted water with whole spices until 70% cooked; drain.
- 4. In a heavy pot, cook marinated lamb with a bit of water on medium-low heat until tender and gravy is thick (about 35–40 minutes).
- 5. Warm milk with saffron; mix ghee, reserved onion oil, chopped herbs, saffron milk, and a splash of rose/kewra water for layering.
- 6. Layer: half lamb, half rice, drizzle with saffron milk mixture and fried onions; repeat layers.
- 7. Seal pot and cook on very low heat (dum) for 25–30 minutes, rest 10 minutes, then gently fluff and serve hot.
Why You’ll Love This Recipe
- Every bite is deeply aromatic, thanks to layered whole spices, saffron, fresh herbs, and golden fried onions.
- The lamb turns meltingly tender, tucked between fluffy, separate grains of basmati rice.
- It is a show-stopping centerpiece for gatherings but totally achievable in a home kitchen.
- Most components can be prepped ahead, making entertaining smoother and more relaxed.
Grocery List
- Produce: Onions, fresh cilantro, fresh mint, green chilies, lemon, garlic, fresh ginger.
- Dairy: Plain full-fat yogurt, whole milk, ghee (or clarified butter).
- Pantry: Basmati rice, lamb shoulder/leg, neutral oil, saffron threads, bay leaves, green and black cardamom, cloves, cinnamon sticks, cumin seeds, black peppercorns, ground turmeric, Kashmiri red chili powder, hot red chili powder (optional), ground coriander, ground cumin, garam masala, salt, rose water or kewra water (optional).
Full Ingredients
Lamb & Marinade
- 1 kg bone-in lamb shoulder or leg, cut into 4–5 cm (about 2 inch) chunks
- 3/4 cup (180 ml) plain full-fat yogurt
- 2 tbsp ginger-garlic paste (or 1 tbsp each of ginger paste and garlic paste)
- 2 tsp Kashmiri red chili powder (for color, mild heat)
- 1/2–1 tsp hot red chili powder (to taste, optional for extra heat)
- 1 1/2 tsp ground turmeric
- 1 1/2 tsp ground coriander
- 1 tsp ground cumin
- 2 1/2 tsp salt (divided: 2 tsp for lamb, 1/2 tsp for adjusting later)
- 2 1/2 tsp garam masala
- 2 tbsp neutral oil (such as sunflower or canola)
- 2 tbsp freshly squeezed lemon juice (about 1 medium lemon)
- 1/4 cup loosely packed fresh cilantro leaves, finely chopped
- 1/4 cup loosely packed fresh mint leaves, finely chopped
- 2–3 green chilies, slit lengthwise (optional, for extra heat)
Fried Onions (Birista)
- 3 large onions (about 600 g), thinly sliced into half-moons
- 1 cup (240 ml) neutral oil, for frying (you will reuse some of this fragrant oil)
- Pinch of salt (helps onions crisp)
Rice & Whole Spices
- 3 cups (600 g) aged basmati rice
- Water for soaking and boiling rice
- 1 1/2 tbsp salt (for the rice cooking water)
- 2 bay leaves
- 8 green cardamom pods
- 1–2 black cardamom pods (optional but lovely)
- 2 small cinnamon sticks (about 5 cm / 2 inches each)
- 6–8 whole cloves
- 1 tsp cumin seeds
- 8–10 whole black peppercorns
Saffron Milk & Layering
- 1/2 tsp saffron threads
- 1/4 cup (60 ml) warm whole milk
- 3 tbsp ghee (plus 1 extra tbsp if you like it richer)
- 3–4 tbsp reserved onion frying oil
- 1/4 cup fresh cilantro leaves, chopped
- 1/4 cup fresh mint leaves, chopped
- 1–2 tbsp fried onions (from above), crushed lightly, for layering
- 1/4–1/3 cup fried onions, for garnish on top
- 1 tbsp rose water or kewra water (optional, for classic fragrance)

Step-by-Step Instructions
Step 1: Marinate the lamb
In a large bowl, combine the yogurt, ginger-garlic paste, Kashmiri chili powder, hot chili powder (if using), turmeric, ground coriander, ground cumin, garam masala, 2 tsp of the salt, neutral oil, and lemon juice. Whisk until smooth.
Add the lamb pieces and turn them in the marinade so every piece is well coated. Mix in the chopped cilantro, chopped mint, and slit green chilies. Cover the bowl tightly (with a lid or plastic wrap).
Marinate in the refrigerator for at least 1 hour, ideally 4–8 hours, and up to 24 hours for maximum flavor. Bring the marinated lamb out of the fridge about 20–30 minutes before cooking so it is not ice-cold when it hits the pan.
Step 2: Make the golden fried onions
While the lamb marinates, prepare the fried onions. Heat the 1 cup (240 ml) neutral oil in a wide, heavy-bottomed pan over medium heat. Test the oil by dropping in one slice of onion; it should sizzle gently.
Add the sliced onions and a pinch of salt. Fry, stirring every minute or so at first, then more frequently as they begin to color. Adjust the heat so they cook steadily without burning. This will take about 15–20 minutes.
When the onions turn a deep golden brown and crisp at the edges, immediately remove them with a slotted spoon onto a plate lined with paper towels. They will darken slightly as they cool. Reserve 3–4 tbsp of the fragrant frying oil for later and keep the remaining oil for another cooking use if you like.
Step 3: Soak and parboil the rice with whole spices
Rinse the basmati rice in several changes of cold water until the water runs mostly clear. This removes excess starch and helps keep the grains separate. Soak the rinsed rice in plenty of cold water for 30 minutes, then drain.
In a large pot, bring about 4–5 liters of water to a rolling boil. Add the 1 1/2 tbsp salt, bay leaves, green cardamom pods, black cardamom (if using), cinnamon sticks, cloves, cumin seeds, and black peppercorns.
Add the soaked, drained rice to the boiling water. Stir once to prevent sticking, and cook on a strong simmer until the rice is about 70% cooked—the grain should still have a firm, slightly chalky center when you bite it. This usually takes about 6–8 minutes, depending on your rice.
Immediately drain the rice in a large colander. Gently fluff with a fork to release steam and prevent clumping. Discard the whole spices that are visible or leave a few in for extra aroma in the final dish.
Step 4: Cook the lamb until tender
In a heavy-bottomed pot with a tight-fitting lid (this will also be your biryani pot), place the marinated lamb and all its marinade. Add 1/2 cup (120 ml) of water to help it start cooking without catching on the bottom.
Set the pot over medium-high heat and bring to a gentle simmer, stirring occasionally. Once it begins to bubble, reduce the heat to medium-low, cover, and cook for about 30–40 minutes, stirring every 8–10 minutes.
You want the lamb to be just tender and the gravy to be thick, not watery. If it looks too dry before the lamb is soft, add a splash (2–3 tbsp) of water as needed. If there is too much liquid at the end, cook uncovered on medium heat for a few minutes to evaporate excess moisture. Taste and adjust seasoning with up to the remaining 1/2 tsp salt if needed.
Step 5: Prepare saffron milk and layering ingredients
While the lamb finishes cooking, warm the milk slightly (it should be warm to the touch, not boiling). Add the saffron threads, crush them gently between your fingers as you sprinkle them in. Let the saffron steep in the warm milk for at least 10 minutes to release its color and aroma.
In a small bowl, combine the ghee and 3–4 tbsp reserved onion frying oil. Stir in the chopped cilantro and mint (reserve a little for final garnish if you like). If using rose water or kewra water, add it now. This fragrant mixture will be spooned between layers of rice and lamb.
Lightly crush 1–2 tbsp of the fried onions with your fingers; keep the rest whole for garnishing the top of the biryani.
Step 6: Layer the lamb and rice for biryani
Once the lamb is tender and the gravy is thick, spread the lamb mixture evenly across the bottom of your heavy pot. If your pot is very deep, you can create two layers of lamb and rice; if it is shallower, you may do just one main layer.
Turn the heat off while you layer so nothing catches. Spoon about half of the parboiled rice evenly over the lamb, gently spreading it without pressing down. Drizzle over half of the ghee–herb–oil mixture and half of the saffron milk. Sprinkle on the lightly crushed fried onions.
Add the remaining rice on top, forming a gentle mound. Drizzle with the remaining ghee–herb–oil mixture and saffron milk. Scatter most of the remaining fried onions on top (reserve a small handful for serving, if you like).
Step 7: Cook on dum, rest, and serve
To seal the pot for dum cooking, cover the pot with a tight-fitting lid. If the lid is loose, you can place a sheet of foil or baking parchment over the rim, then press the lid on top to trap the steam.
Place a heavy skillet or tawa on the stove over low heat. Put the biryani pot on top of the skillet (this prevents direct high heat and helps avoid burning the bottom). Cook like this on very low heat for 25–30 minutes. You should see a gentle wisp of steam escaping but no vigorous boiling.
Alternatively, for oven dum, preheat the oven to 180°C / 350°F. Cover the pot as above and bake for 25–30 minutes.
After cooking, turn off the heat and rest the biryani, still covered, for at least 10 minutes. To serve, gently fluff from the sides with a wide spoon, lifting rice and lamb together so the layers remain distinct rather than stirring aggressively. Top with reserved fried onions and a few fresh cilantro and mint leaves. Serve hot with yogurt raita, salad, and lemon wedges if you like.
Pro Tips
- Use good basmati rice: Aged basmati with long grains gives the best texture. Soaking and cooking only to 70% done is key to fluffy, separate grains after dum.
- Do not rush the onions: Properly browned, evenly crisp fried onions add deep sweetness and classic biryani flavor. Keep the heat moderate and stir often near the end.
- Control moisture in the lamb: The lamb should be saucy but not watery before layering. Too much liquid will make the rice mushy; too little can scorch the bottom.
- Keep the heat low for dum: Gentle, low heat ensures the rice steams through without catching. Using a skillet or tawa under the pot is a simple safeguard.
- Rest before serving: That final 10-minute rest lets the steam redistribute so the rice finishes cooking evenly and the flavors meld beautifully.
Variations
- Spicier version: Increase hot red chili powder and green chilies, and use part mustard oil in the marinade for a sharper, more robust heat.
- Richer, party-style biryani: Add 1/4 cup fried cashews and 1/4 cup golden raisins between layers, and increase ghee by 1–2 tbsp for a more luxurious mouthfeel.
- Pressure cooker shortcut for lamb: Cook the marinated lamb with 1/2 cup water under pressure for 12–15 minutes (high pressure), then reduce the gravy until thick and proceed with layering and dum.
Storage & Make-Ahead
You can marinate the lamb up to 24 hours in advance and keep it refrigerated. Fried onions can be made up to 3 days ahead and stored in an airtight container at room temperature (if your kitchen is cool) or in the fridge; keep them dry so they stay crisp.
Leftover biryani keeps well in an airtight container in the refrigerator for up to 3 days. Reheat gently in a covered pan over low heat with a splash of water, or in the microwave covered, until steaming hot. You can also freeze portions for up to 1 month; thaw overnight in the fridge and reheat thoroughly. The rice will soften slightly after freezing but will still be flavorful.
Nutrition (per serving)
Approximate values per serving (1/6 of the recipe): about 720 calories, 38 g protein, 30 g fat, 72 g carbohydrates, 3–4 g fiber, and 1,200–1,400 mg sodium (depending on exact salt used and any added sides). These numbers are estimates and will vary based on the cut of lamb, type of rice, and exact quantities of ghee and oil used.

