Mix marinade ingredients in a medium bowl, then add chicken and mix well. Cover and refrigerate for a couple of hours, but preferably overnight.
On the day you want to cook, preheat your broiler and place marinated chicken on a lined cookie sheet, greased with nonstick spray. Broil chicken for 10-12 minutes, or until you see some charred bits (see recipes notes).
Spray a large pan with nonstick spray. Cook the onions until soft and lightly browned, about 7-10 minutes. Scrape up any browned bits stuck on the bottom of the pan.
Add garlic and ginger and sauté for 1 minute until fragrant, then add garam masala, cumin, turmeric, coriander, chili powder, and cayenne. Cook for about 30 seconds until fragrant, stirring constantly.
Pour in the tomato sauce and salt. Let simmer for about 10-15 minutes, stirring occasionally until sauce thickens and deepens in color. It should be about the consistency of tomato paste.
Stir the half and half and sugar into the tomato reduction. Add the chicken and its juices back into the pan and simmer for an additional 8-10 minutes until chicken is cooked through and the sauce is thick and bubbling.