Take a cooking pot, add oil and heat it.
Add whole spices such as cloves, cardamom, cinnamon, dried red chillies, bay leaf an saute few seconds.
Add the very finely chopped onions, saute until it gets soft and slight pinkish in color.
Add the ginger garlic paste and saute for a minute to get rid of the raw smell.
Add the chicken pieces and roast until the color of chicken changes.
Add the chopped tomato, a teaspoon of red chili powder and mix well.
Mix and cook the tomatoes until they turn soft and mushy.
Take a small bowl, into it add yogurt, salt to taste, red chili powder, turmeric powder, coriander powder, cumin powder and give a mix.
Add this yogurt mix into the curry and mix well.
Cook the chicken curry for few minutes .
In between the cooking process, add water and give a mix.
Check for salt and add garam masala powder.
Mix well and cook until the chicken is almost done.
Add slit green chilies, chopped coriander leaves, kasoori methi and cook for 5 minutes.
Lastly add butter and malai to the chicken curry and cook for 2-3 minutes.
Switch off the flame and serve hot.