This is a family recipe of a coworker of mine that is from India. Perfect combination of spice and heat, and the chicken comes out tender, not dry. Some ingredients, however, can only be found at an Indian grocery store, but well worth the visit.
In a large bowl, add chicken, Ginger-garlic paste, Red chilli powder, Salt to taste, Turmeric powder, Coriander powder, Cumin Powder, Garam masala, Chicken masala powder, and Yogurt.
Stir mixture well, and marinate the chicken in the refrigerator for 1 hour.
In a large pan or wok, medium-high heat the oil and butter and fry the chicken pieces (set aside the marinate) just until slightly under-done, then add the marinate to the pan and cook for 2 more minutes, or until hot. When done, pour mixture into a different bowl, covered, and set aside.
In the same pan add 1 tablespoon oil, 1 tablespoon butter, onion, and once the onions are starting to soften, add tomatoes and cashew nuts. Let this cook for about 3 minutes more.
Add garlic paste, salt to taste, malt vinegar, sugar, garam masala powder and chilli powder, and just enough water for desired consistency. Evenly mix, turn the heat on low, and let it simmer for 15-20 minutes, adding more water if needed, and stirring on occassion.
Pour this hot mixture into a blender or food processor, and blend into a fine puree (please be careful not to burn yourself). If you have an immersion blender, then you can instead blend it in the pan, otherwise, pour the puree back into the original hot pan when done.
Add remainder of butter, cream, chicken mixture, and fenugreek leaves and let it simmer for at least 5-7 minutes.
Pour mixture onto a large serving plate, perhaps over rice, garnish it with cream and fenugreek leaves.