Mix all the ingredients for the marinade in a mixing bowl and refrigerate for at least 30 minutes.
Heat the olive oil and butter in a stock pot over medium heat. Add the garlic paste, ginger paste, and jalapenos. Season with salt and pepper and saute until it starts to turn light brown, about 3-5 minutes.
Add the tomato paste, garam masala, paprika, and tomatoes and season with salt and pepper and cook until the tomato paste and tomatoes are soft, about 3 minutes.
Next add the can of diced tomatoes. Use your spoon to scrape the bottom of the pot as the cooked bits will add lots of flavor.
Add the water and bring to a boil. Then reduce to a simmer and cook until the sauce thickens, about 20 minutes.
CHICKEN: (You can cook the chicken in the oven at 350 for 40 minutes or cut it in bite size pieces and cook them on the stove top. But we have found the best flavor comes from grilling the chicken)
Turn on the grill. Once the grill is hot, shake off the excess marinade and place the chicken pieces on the grill. Cook until the pieces are slightly charred, about 5 minutes or less per side depending on the temperature of the grill.
NOTE: The chicken may not be fully cooked, but it will continue to cook in the sauce. So don't worry!
While the chicken is cooking, blend the sauce. You can use a blender, a food processor, or we use an immersion blender. Blend until smooth and all the large chucks are gone. (If you used a blender or food processor, return the sauce to the pan.) Stir in the yogurt.
Once the chicken has been taken off the grill, cut it into bite size pieces and add to the sauce.
Cook for another 10 minutes.
Add the heavy cream and butter and heat through.
Garnish with fresh chopped cilantro if desired. Goes perfect with long grain white rice and Naan.
Place all the ingredients in a small food processor and blend until smooth. You can store the extra in a glass jar for up to 3 week.