Place lamb in a bowl, coat with yogurt, cover and marinate in the refrigerator for at least 2 hours, preferably overnight.
Begin preparing rice by soaking in water for 20 minutes. Drain and set aside.
Prepare masala 1 by grinding together garlic clove and ginger to a fine paste. This can be done through the feed tube of a running food processor and finished with a mortar and pestle or molachete.
Prepare masala 2 by grinding coriander seeds, fennel seeds and poppy seeds (either manually with a mortar and pestle or with a coffee grinder). Then make a fine paste by adding the red chiles through the feed tube of a food processor followed by the dry ground spices.
Prepare masala 3 by grinding together coconut, cashew nuts and yogurt (in that order) through the feed tube of a running food processor.
To begin cooking the lamb, heat 4 teaspoons ghee in a wok and swirl to coat inside surface. Add 3 cloves, 3 cardamom pods, and 3 cinnamon sticks, and "toast" briefly in the wok. Then, add chopped green chiles and onion and fry until mixture turns golden brown (be careful not to burn). Add masala 1 and stir well, cooking for a few minutes. Add masala 2 and stir well, cooking for a few minutes to integrate flavors. Add the diced tomatoes and cook for 2 minutes. Transfer marinated lamb to wok and also add cilantro and mint leaves. Reduce heat and simmer for 5 minutes, then add 1/2 cup water and salt. Cover and cook for 15 minutes, then stir in masala 3. Cover and cook until the sauce becomes thick.
For the rice:
Heat 3 teaspoons ghee in another wok or saucepan and add cloves, cardamom pods, cinnamon stick, bay leaf and cumin seeds, and fry for 1 minute. Add the rice and stir for about 2 to 3 minutes to "toast" the rice. Add the 3 1/2 cups water and salt, bring to a boil, then reduce heat, cover and let cook until the water is absorbed, about 15 to 20 minutes. When rice is done, remove from heat and allow to cool.
Preheat oven to 350 degrees F.
The biryani will be layered in a dish. A 13 by 9-inch ovenproof dish (such as the type used for lasagna) or something similar would be suitable. Divide rice into 3 parts and the lamb mixture into 2 parts. Grease the dish and arrange 5 alternate layers of rice and meat, beginning and ending with rice. Dissolve the saffron (or yellow food coloring) in the 1/4 cup milk and spoon it over the top layer of rice. Cover the biryani (with foil) and bake for 30 minutes. Let rest for a few minutes before serving.
Transfer to a serving plate to reveal layers. Garnish with fried onions, cashew nuts, raisins and hard boiled eggs.
Culinary Institute of America, 2007