Marinate the chicken pieces with all the marinade ingredients for 1 hour.
Heat 4 to 5 tablespoon of cooking oil in a wide pan and add the marinated chicken. Cook on medium to a low flame by covering the pan with a lid, until fully done. This will take about 15 to 20 minutes. Set aside and keep warm.
Onion and Cashewnut Paste: Heat 1 tablespoon cooking oil in a saucepan and add 2 medium size sliced onion. Fry the onion for about 5 to 7 minutes or until it turns light golden and then add 10 cashew nuts. Fry along with onion until the nuts turn golden and crunchy. Cool for sometime and make a smooth dry paste. Set aside.
Take 2 large tomatoes and grate it to get a thick tomato puree. Discard the skin.
In a saucepan add 1 tablespoon ghee and add 1 teaspoon ginger-garlic paste (combined). Fry for few seconds and then add freshly grated tomato puree.
Now add rest of the spices like amchoor powder, garam masala powder, red chili powder, tomato puree (store-bought), coriander powder, salt, and milk. Stir well until all spices are well combined.
To this, add onion-cashew nut paste and kasoori methi and stir well. Place the lid and cook the gravy on a slow flame for about 7 – 10 minutes.
Finally, add cooked chicken pieces, green chilies, and chopped coriander leaves. Give a final stir and cook on medium for another 5 minutes.
Remove from heat and serve hot with Pulao, Naan or Rotis.