Combine all the marinade ingredients in a glass bowl. Toss to combine, cover and refrigerate up to 24 hours.
PREPARE THE SAUCE:
Heat ½ tablespoon of butter and the vegetable oil in a large non-stick skillet over medium heat. Add the onion and sauté until softened, about 3 minutes. Add the garlic and ginger and cook, stirring constantly for about 1 minute or until fragrant. Add the garam masala, chili powder, cayenne and salt. Stir and cook until fragrant, about 30 seconds. Increase the heat to medium-high and add the marinated chicken pieces. Don’t worry about scraping out any remaining marinade mixture - just discard. Sauté until the chicken is no longer pink on the outside, about 5 minutes.
Add the tomato sauce and tomato paste and simmer uncovered for 15 to 20 minutes, stirring occasionally until the chicken is cooked through. Reduce the heat, and add the half-and-half and remaining tablespoon of butter, and warm gently until the butter is melted. Remove from the heat.
Serve over hot rice and garnish with chopped cilantro if desired.
Notes
Rice is not included in nutritional information.
If you wish to make the sauce a little richer, add an additional tablespoon of butter.