Combine the lamb & yogurt in a bowl, mix well. Wrap tightly & allow to marinate in the fridge for 1 hour, up to 24 hours.
In a small bowl or jar, combine the red chilli powder (Kashmiri), ground fennel or leaves & ground ginger. Pour in the water & mix until smooth, set aside.
In a large pot, heat the ghee or clarified butter & canola oil over medium heat. Once melted add in the cinnamon, green cardamom pods, cloves, cumin seeds & bay leaves. Fry for 1 minute, stirring frequently.
Add in the thinly sliced shallots & saute for 5-6 minutes or until golden & translucent. Add in the minced garlic & ginger, fry for 1 minute, stirring the whole time.
Place in the marinated lamb & yogurt (scraping all the yogurt in to avoid wastage), mix well & cook for 3 minutes, stirring frequently. Add in enough hot water to only just reach the top of the ingredients (don't cover it otherwise it will be too runny) & bring it to a boil. Reduce the heat to low, place on a lid & simmer for 40 minutes.
Remove the lid & add in the chilli, fennel, ground ginger & water mix. Season to taste & mix well. Allow to continue simmering uncovered for a further 20 minutes or until reduced, thickened & the lamb is tender.
In the meantime, place a saucepan over high heat, add in the washed rice, saffron & sea salt flakes, mix well & bring to a boil. Once boiling, reduce the heat to low, place on a lid & simmer for 14 minutes undisturbed. Turn it off the heat, leave the lid on & allow it to steam for 4 minutes. Remove the lid & fluff with a fork.
Serve over the steamed saffron rice & garnish with coriander (cilantro). Serve with naan bread or any toasted bread.