In a large bowl add all the ingredients under marination and mix everything well. Marinate for at least 1 hour or more.
Pressure cook the marinated mutton/lamb with 2 cups of water for 5 whistles or until the mutton/lamb is 90 percent cooked. Now separate the meat pieces from the cooking liquid and keep both of them aside for later use.
Heat a thick bottomed pan on medium heat and dry roast the desiccated coconut until golden brown. Make sure you don't burn the coconut. Remove from the heat and keep it aside.
In the same pan heat a tbsp of oil on medium-high heat and fry the thinly sliced onions until golden brown. take it off the heat and let it cool.
In a mixer grinder add the roasted desiccated coconut and fried onions along with 4-5 tbsp of water and ground it to paste. Keep it aside.
In a thick bottomed pan heat 3-4 tbsps of oil on medium to high heat and add the chopped onions and fry until it soft and translucent.
Next add the ginger garlic paste and sauté until the raw smell disappears.
Toss in the chopped tomatoes and green chillies and mix everything together. Fry until it's soft and mushy.
Now add the coconut-onion paste, chilli powder, c oand salt(just remember we have already added some salt while marinating the meat, so use accordingly). Sauté for 6-8 minutes or until you see the oil separation from the sides.
Now add the boiled mutton/lamb pieces (minus the juices) to the masala and saute for 2-3 minutes.
Now start adding the cooking liquid a little at a time and cook the mutton/lamb on medium-low heat. Cover and cook slowly adding the cooking liquid a little at a time. This will take almost 30-45 minutes to cook the meat with the spice mix and infuse the flavours.
Finally add cardamom powder, garam masala powder, curry leaves and mix everything well. Check the seasoning, add salt if required. Continue cooking until it reached the desired consistency and the mutton pieces are coated with the masala.
Sprinkle freshly chopped coriander leaves and serve it hot.