Start by making a ginger garlic paste. Pulse equal parts ginger and garlic in a food processor with a very little bit of olive oil to bind them. You'll only need two teaspoons of the paste for this recipe, but you may like to make extra to flavor other things like chicken, lamb, pasta, soups, or rice.
Cut chicken into thin strips about 3 inches long and place in a bowl. Add a teaspoon of the ginger garlic paste, coriander, chili powder and salt and mix til the chicken is well coated. Heat a frying pan to medium heat and add the oil. Fry the chicken in the hot oil til it's almost cooked, then scoop out chicken and set aside in a bowl.
In the leftover oil in the pan, add cumin, a teaspoon of ginger garlic paste, fenugreek leaves, chopped onion, tomatoes, green chilies, and cashews and cook with a lid on till the tomatoes have cooked down, or about 15 minutes.
Let it cool for about 5 minutes off the heat, then pour into a blender and pulse til pureed.
Add butter to your pan and any drippings from the chicken you set aside. When the butter is melted, add pureed tomato mixture, water and sugar, using more or less sugar to taste. If desired, add some red food coloring to achieve restaurant buttered chicken coloring.
Let cook for 5 minutes, then add in the cream. Add chicken and cook for a few more minutes til heated through.