Place a kadai or a shallow pot on the stove. Add oil and let it heat up on medium heat.
Add the cardamom and cloves to the oil and saute for 30 seconds, dont let burn. Next add the cumin and let crackle.
Next, add the onions to the oil and saute them on medium heat until they start to brown but dont let brown too much.
Add the ginger garlic chilli paste and saute for 15 seconds followed by coriander and cumim powder and saute the spices in oil for 30 seconds. Add the tomato pulp next and saute on medium heat till you see oil seperating.
Next add the chicken, sprinkle salt and mix well with the masala. On medium heat, saute the chicken for 5 minutes. You will see that the chicken will slowly release its juicies and the masala will become a bit runny.
Cover the pot with a lid and let the chicken cook for 10-12 minutes (time will depend on the size of chicken pieces so adjust accordingly). You will need to saute in between a few times so that chicken dosent stick to the bottom.
Open the lid, reduce the heat to low and while sauteing add the yogurt over the chicken. Also add the coconut. Mix well and cover again for 10 minutes. Avoid adding any water to the sauce. In 10 minutes you wil see the yogurt is warmed through, thr masala resembles a thick slurry and there are oily bubbles on the top.
Remove the lid and saute the chicken for another 5-8 minutes till you see that the color of sauce has deepened and a nice amount of oil is seperating.
Finish with cardamom powder and garam masala. Take off the heat and garnish with chopped cilantro and mint leaves.