Mix all first group ingredients and marinate for a minimum of 1 hour, preferably overnight.
Mix the onions, chopped chilies, and coriander in a bowl.
Fry onions in plenty of oil, until brown and crisp. Drain on paper towels.
Put the meat and marinade into a large casserole or roasting pan
Put 1/2 the onion, chilie, coriander mix onto the meat mixture, reserving the remainder for the end.
Rice Preparation
Put the washed rice into a separate saucepan with plenty of water to cover.
Add the cinnamon, cloves, cardamoms. bay leaf, cumin and salt.
Bring to a boil and cook for 3-4 minutes, until rice is partially cooked.
Assembly
Pour the steaming rice over the meat after making sure to drain excess liquid.
Sprinkle with the remaining fried onions, chilies and coriander.
Make a few holes in the rice going down to the bottom of the pan by poking through with the handle end of a wooden spoon, to allow steam to escape.
Pour saffron milk over the entire mixture, distributing as evenly as possible.
Sprinkle with lemon juice and ghee (or melted butter).
Cover and cook in oven for 45 minutes.
Notes
The rice will cook from the moisture in the meat, milk and yogurt. Serve Biriyani from one end of the pan, mixing meat and rice together. Serve with vegetable dish, or do what I do and toss some spiced vegetables on top of the rice in the last 10 minutes of cooking and put the lid back on…quickly!