1. Heat oil in a large skillet or pot over medium-high heat. When sizzling, add chicken pieces in batches of two or three, making sure to not crowd the pan. Fry until browned for only 3 minutes on each side. Set aside and keep warn. (_The chicken will be finished cooking in the sauce._)\n2. Melt the butter in the same pan. Fry the onions until soft (about 3 minutes) while scraping up any browned bits stuck on the bottom of the pan.\n3. Add garlic and ginger. Sauté for 1 minute until fragrant, then add garam masala, cumin, tumeric, and coriander. Fry for about 20 seconds until fragrant, while stirring occasionally.\n4. Pour in the tomato puree, chili powders, and salt. Let simmer for about 10-15 minutes, stirring occasionally until sauce thickens and becomes a deep brown red color.\n5. Stir the cream and sugar through the sauce.\n6. Add the chicken and its juices back into the pan and cook for an additional 8-10 minutes until chicken is cooned through and the sauce is thick and bubbling. If needed, pour in water to thin out the sauce.\n\nGarnish with cilantro if desired.