Take the marination ingredients and marinate the chicken for at least 30 minutes to 1 hour. You can keep it overnight or 2 to3 hours.
Heat oil in a pan. (You can also grill in oven or grill pan). Layer the chicken pieces in single layer and grill/roast them over medium heat for 5-7 minutes each on both sides.
Heat half portion of butter in a pan. Add the cashew nut, whole spices and saute for 1 to 2 minutes.
Add the chopped onions, ginger garlic paste and saute for 2 minutes.
Add the chopped tomatoes, salt and saute till tomatoes turns mushy.
Add chilly powder, garam masala powder, coriander powder and saute for 2 minutes.
Let it cool down, remove bay leaf and blend together with little water to a smooth puree. Set aside.
In the same pan pour the puree and add the grilled chicken. Mix well, cover the pan and continue to cook on low heat for around 5 to7 minutes stirring continuously to prevent burning.
Add 1 cup water and cook for 5 to 10 minutes.
Add crushed kasuri methi and half portion of cream and give a quick stir and take off the heat.
Drizzle the remaining butter and cream and garnish with crushed kasuri methi and serve.