Marinate the Chicken:
Combine chicken with ginger-garlic paste, salt, turmeric, and red chili powder.
Mix well and marinate for at least 1 hour or overnight in the fridge.
Prepare Onion-Tomato Paste:
Blend onions, green chilies, coriander stems into a smooth paste. Set aside.
Blend tomatoes into a smooth paste. Set aside.
Prepare Spice Mix:
In a small bowl, mix together coriander, cumin, Kashmiri chili, turmeric, and fenugreek powders with water to form a paste. Set aside.
Cook the Chicken:
In a large pan, heat 2 tablespoons of oil/ghee.
Add the marinated chicken and fry for about 7 minutes, stirring occasionally, until slightly browned.
Remove chicken and set aside.
Cook Spices and Paste:
In the same pan add cinnamon, cloves, cardamom, and bay leaves. Fry for a minute until aromatic.
Add the onion paste and cook on medium heat until it starts to brown and oil separates.
Add Spice Mix:
Mix in the prepared spice mix. Stir and cook for 2 minutes until the raw smell of spices goes away. .
Add tomato paste and cook until they soften and the oil begins to separate (2-3 minutes). Keep stirring.
Add yoghurt and keep stirring for 1 minute.
Cook until oil start to separate.
Combine Chicken:
Add the fried chicken pieces to the pan. Mix well to coat the chicken with the masala.
Cook covered on low heat for about 7 minutes or until the chicken is fully cooked.
Add coconut milk and cook for 1 minute
Final Touches:
Sprinkle garam masala, kasuri methi, and chopped coriander leaves. Mix gently.
Cook for another 2-3 minutes.