In a large mixing bowl, whisk together all the marinade ingredients. Add the chicken, tossing to coat.
Cover the mixture and allow to marinate for two hours, or up to overnight.
Add the oil to a large skillet over medium high heat. As soon as the oil's hot, start adding in half of the chicken.
Cook the chicken, turning once or twice, until it's nicely brown on the outside but not cooked through. Remove the chicken to a waiting plate, and repeat with the rest of the raw meat.
Add the butter & onions to the skillet, tossing to coat. Cook the onions, stirring and scraping up any crispy bits from the bottom of the pan, until the onions are lightly caramelized.
Stir the garlic & ginger into the onions, cooking just until fragrant.
Stir in the rest of the spices, letting them cook just until fragrant.
Stir in the tomato sauce, chili powder, and salt until combined. Bring the sauce to a simmer, and let it slow simmer for 10-15 minutes- until it thickens and develops a deep red brown color.
Whisk in the cream and sugar until evenly combined. Let it simmer for 60 seconds.
Scrape the chicken & any juices on the plate back into the skillet. Stir them in to evenly incorporate.
Let the mixture simmer an additional 8-10 minutes, or until the sauce has reduced and thickened slightly & the chicken's cooked through.
If the sauce gets too thick, add in a bit of water to thin it out as needed. Let the mixture rest 1-2 minutes away from heat before serving.
Ladle the chicken and sauce over warm long grain rice to serve. Garnish with freshly chopped cilantro leaves, if desired.