You'll need a bit of pastry to seal the pan and the lid - here's my simple hot water pastry recipe. And this is how to make ghee or clarified butter.
First of all, peel the onions and slice them in half vertically. Now thinly slice them, so you get lots of half-moons, and fry them in ghee on medium heat for about 15 minutes until they turn golden brown. Drain them on kitchen paper.
Finely chop the coriander and mint, but save some whole mint leaves for garnish.
If you haven't got ready-made ginger and garlic paste, you'll need to peel and finely chop the ginger and garlic and pound them to a coarse paste in a mortar and pestle. You may need to add a few drops of vegetable oil too.
Add the saffron to the milk.
Marinade the chicken
The chicken needs to be marinaded for about half an hour before cooking. By the way, you don't have to use a whole chicken - you could use thighs or drumsticks, whatever you can get. But it's best if it's bone-in and skin-on. Mix the yogurt, ginger/garlic paste, lemon juice, 1 tsp each of the chopped mint and coriander, all of the chilli powder and turmeric, one-third of the garam masala and ground cardamom and 4 tbsps ghee. Add the chicken pieces and get them thoroughly coated. I usually do this in a freezer bag because it's easier to get everything coated, and it's one less thing to wash up.
Prepare and pre-cook the rice
Rinse the rice under cold water until the water runs clear. Many recipes suggest soaking the rice for 20-30 minutes, but I find this makes the rice go mushy - possibly you may need to soak your rice if it's old. Make a 'bouquet garni' of the whole spices (the cloves, peppercorns, cardamom pods, cinnamon, cumin seeds and bay leaves). You can do this by wrapping them in a small piece of muslin cloth, or stick them in a tea-ball. Bring the water to the boil - you'll need about 3 times the amount of rice. Add 1 tsp salt and your 'bouquet garni'. Drain the rice and add it to the pan. The rice only needs to be half to three-quarters cooked, and this will probably take about 6 minutes. Remove the rice from the heat and drain the water off, but keep back a little bit for later.
Assemble and cook the biryani
Place your chicken pieces and the marinade in the bottom of a large pan. Try to get the chicken in a single layer if you can. Add a layer of rice (about half of the rice) over the chicken, sprinkle on half the remaining coriander, mint, fired onions and some ghee. Use the rest of the rice to make a second layer, and sprinkle all the rest of the coriander, mint and onions. Pour over a couple of tablespoons of the rice cooking water, the milk and saffron, and the ghee (if your ghee is not soft enough to pour, just warm it up a bit until it is).
Now, roll out some dough into a long sausage, and gently press it around the rim of the pan. Place a lid on the pan, gently pressing it into the dough - don't press too hard or you'll cut through the dough. Using a dough seal like this is called dum cooking in India.
Place the pan on high heat and bring to the boil. After 15 minutes, reduce the heat and let the biryani simmer for another thirty minutes.
Remove the lid and discard the dough. Spoon the biryani into a serving dish and arrange the whole mint leaves and wedges of lemon on top. Serve with raitha (yogurt and cucumber dip).