For the chicken marinate:
for the sauce:
1. In a large bowl, season the chicken with salt, chili powder, cumin, grated garlic and grated ginger. Let sit in the fridge for 20-30 minutes to marinate.
2. In a large pan heat oil, add the chicken and fry for 5-6 minutes, until cooked. Remove from the pan and set aside.
3. In the same pan, melt 2 tablespoons of butter. sauté chopped onion for 4-5 minutes. Add chopped tomatoes, cashew nuts and water. Season with garlic paste, salt, chili powder, garam masala, cumin, sugar and vinegar. Simmer over low-medium heat for 15-20 minutes.
4. Blend the sauce with a hand blender or in a food processor (with the lid open) until smooth. Strain through a sieve. Pour back to the pan.
5. To the sauce add the remaining butter, cream and cooked chicken pieces. (if you have, add kasoori methi). Cook for 5-7 minutes. Garnish with fresh coriander leaves and fresh cream.
6. Serve with naan bread or rice.