Take a pan and heat desi ghee (1/4 cup) in it. Once it is hot fry the onions till golden brown. Remove and keep aside.
In an another pan, heat desi ghee (3/4 cup), add badi elaichi (3 nos), cinnamon stick (1 no), lamb pieces, cloves (5 nos), ginger, garlic paste and salt. Cook covered for about 10 minutes or till the lamb is brown in colour. Add about 4 cups of water and bring to a boil. Reduce heat and simmer for about an hour. Remove and cool. Strain the stock through a muslin cloth. Remove the lamb pieces.
Take a kadai(wok) and heat desi ghee(1/4 cup) in it. Once it is hot add the lamb , badi elaichi (2 nos), cinnamon stick (1 no) and salt. Stir fry for about 5 minutes then cover. Reduce heat to low and cook, turning over the pieces in between to ensure even cooking. Cook till done. Remove lamb and keep aside.
Take about 4 cups of stock and add yoghurt mixed with red chilli powder, essence and black pepper, strain through a muslin cloth. Remove excess fat floating on the surface. Check the seasoning.
Parboil the rice in the stock. Add remaining cloves and choti elaichi for flavour. Strain the rice through a colander when about to be fully done.
Arrange alternate layers of rice and lamb. Cover tightly with a lid and seal with flour dough. Cook on dum (slow over or dum pukht) by placing slow fire beneath and slow live coals on the lid. Remove from heat after 30 minutes. Open the lid just before serving. Stir gently once or twice and your yakhni pulao is ready to serve.