Add all of the marinade ingredients to a large ziplock bag. Toss to coat the chicken. Refrigerate for at least 30 minutes or overnight.
Preheat broiler and set oven rack to the highest position. Spray a rimmed baking sheet with nonstick cooking spray.Spread the chicken including the marinade onto the prepared baking sheet.Broil for 8 minutes or until golden brown, make sure to keep an eye on it. You do not need to flip the chicken.
Meanwhile start your sauce by heating a large pot over medium high heat and add in butter.Once melted add in onion and saute for 2-3 minutes.
Add in garlic, ginger, cumin, paprika, garam masala, and turmeric. Saute for 1-2 minutes or until garlic is golden brown and the spices are fragrant.
Next add in the tomato sauce and cream. Simmer for 15-20 minutes or until the sauce is thickened.Add the chicken to the pan and simmer for an additional 5 minutes.
Season with salt and pepper to taste. Serve immediately with fresh chopped cilantro for garnish, if desired.