In a wok, heat the ghee and oil together. (I used olive oil here.) Make a paste of the onions and garlic together and add to the oil once it starts heating.
Fry the paste until the onions are light golden brown. Do not burn them but they should be light golden brown at the end. Add your mutton pieces to this and fry for about 4-5 minutes. (This is the reason why the onion paste should not be fried too much on its own, as its anyway going to get browned more with the mutton.)
Next, into one cup of water, add all the spices together and mix well. Add this mixture to your mutton and give it a stir. Add more water to it, about 3 times the mutton. Simmer and let it slow cook on the heat for about an hour and a half to two hours.
The water will keep reducing so you can adjust the consistency according to your preference. The gravy is traditionally, not too thick but also not watery, its somewhere in between. You will need to check on the mutton every 5-10 minutes. Add more water when the water dries out as the mutton requires a lot of time to get fully cooked. Keep repeating the process until the mutton is cooked properly.
Somewhere in between, around 30 minutes of cooking, add the yoghurt. Some people do not add the yoghurt, but it helps cut down the spiciness a lil bit. Also, taste the curry after about an hour, and add more spices, if you feel the need to. I ended up adding more fennel powder to the curry, but its totally optional. In the last 20 minutes, add the last batch of water and put a lid on the top. Some water will escape even after putting on the lid as steam from the sides, so add water accordingly.