Slice the 2 onion (listed under "other ingredients") into thin slices. Add half a cup of oil to a pan and fry the onion until golden and crisp. Drain on a paper towel. You can fry them in two batches if you wish. You can also fry your potatoes (until slightly brown and crisp) in the same oil and set aside.
For the "dum", heat the milk until warm. Add the saffron, rose water and food colouring and set aside.
Fry one onion until golden and crisp. Place all the ingredients (listed under "marinade") in a bowl, together with the fried onion and mix well. Refrigerate overnight or at least an hour.
When ready to cook the Biryani rinse the rice well, a few times, until the water runs clear. Place all the ingredients listed under "rice" in a pot together with some water, enough for the rice to be fully immersed in the water, and cook until the rice is about 60% cooked. Drain the rice, (no need to remove the lemon and whole spice) cover and set aside.
In a large pot heat the butter and vegetable oil, on medium heat. Add the whole spice, cinnamon, cardamom and bay leaf and fry for a few seconds until fragrant. Add the onion and thyme and fry until the onion is golden brown. Add the marinated lamb and cooking for an hour on a low heat.
Remove half of the lamb from the pot an set aside. Add half of the rice on top and half the potatoes. Add the other half of the lamb and then add the remaining potatoes.Add more fresh coriander. Sprinkle the rice on top. Drizzle the milk mixture over the rice. Sprinkle the 2 fried onion on top. Cube the butter and place over the rice. Drizzle 1&1/2 cups water over the biryani, seal the pot with foil. Place the lid on top and cook in the oven for 2 hours. After an hour check the moisture content and add the remaining 1 cup of water, if needed.
Garnish the cooked biryani with coriander and serve hot with some raita