First clean and wash the meat. Let it dry for at least 30 minutes to make sure there is no water in it. After the meat gets dried up, add little ginger garlic paste, little salt and few drops of lemon juice and marinate for about 20 mins. Then in a big cooking vessel, first add oil,then add chopped onions and saute till it turns light brown. Add the marinated lamb meat and mix well and cook for 2 minutes without the lid on. Then add yogurt, chili powder, turmeric powder, ginger garlic paste, salt, shahjeera, cardomoms, cinnamom sticks, cloves, garam masala one green chilli, little mint leaves chopped and little coriander .Saute it so well that the oil should start to separates. Then add chopped tomatoes saute for few minutes untill it tomotoes get unskinned, then enough water. Cook this until the meat tenders on a medium flame. Once the meat gets tendered, add enough water to cook basmati rice. Cook with the lid on till the rice is 70 % cooked and then cook uncovered .Once you see there is very little (15%) water left in the vessel, level the rice, add lemon juice, fried onions, chilies, mint leaves and coriander. Add little butter, its optional. Then cover the vessel with Aluminium foil and put a lid on it . Cook on very low flame for 7 minutes or untill you see vapours coming out. check if the rice is cooked properly after a while, if not keep it on low flame. Then serve it with Raita.
Note: In order to cut the time, we can first tender the meat with all the ingredients except rice in a pressure cooker. This will help a lot in saving time plus helps in tendering lamb meat faster.