Heat oil in a heavy bottomed pan/kadai. Add all the whole spices (bay leaf, cumin, cardamon, cinnamon, cloves, whole kashmiri chillies).
Once they start to splutter add finely sliced onions. sauté until they turn light golden.
Add the ginger-garlic paste and sauté for 2 minutes, or until the raw aroma disappears.
Add the marinated chicken pieces and salt to taste. Cook for 4–5 minutes, stirring continuously, until it changes color.
Now cover the pan and cook for 5 minutes on low heat.
Open the lid and give the chicken a good stir. Add the tomatoes, turmeric powder, red chilli powder, cumin powder, pepper powder and chicken masala powder.
Mix well and cook for 4-5 minutes on low flame.
Turn the heat to low. Add the whisked yogurt and slit green chillies, mix well.
Once the yogurt is well combined with the chicken turn the heat to medium high and cook for 4-5 minutes.
Bhuno the masala until the oil separates and it becomes thick, rich, and glossy. As shown in the image, the masala should coat the spoon heavily without sliding off easily.
Add 200 ml water and mix well. Cover the pan and simmer on low heat for 10 minutes, or until the chicken is tender.
Open the lid and give the chicken a good stir. Add the garam masala powder and fresh cilantro(coriander).
Mix well and cook for 2 minutes on low heat.
Finally, garnish with freshly chopped coriander leaves and serve hot with naan, roti, paratha, chapati or jeera rice.