In a large bowl, combine chicken with all of the ingredients for the chicken marinade; let marinate for10 minutes to an hour.
Heat oil in a large skillet over medium-high heat. Whensizzling, add chicken pieces in batches , making surenot to crowd the pan. Between each batches, re-oilthe pan. Cook until browned, about 3 minutes on each side. Set aside and keep warm.
In the same pan, melt the butter. Cook the onions until soft.
Add garlic and ginger, and sauté for 1 minute until fragrant, then add garam masala, cumin, turmeric, chili powder, salt, and coriander. Cook for about 20seconds, while stirring occasionally.
Pour in the tomato puree. Let simmer on medium-low for about 5 minutes, stirring occasionally until sauce thickens and becomes a deep red-brown color.
Stir the cream and brown sugar through the sauce. Add the chicken back into the pan and cook for an additional 8-10 minutes until chicken is cooked through and the sauce is thick and bubbling. If needed, pour in water to thin out the sauce.
Let cool for a few minutes and enjoy! Top with cilantroand serve with brown rice and naan.