Slice the chicken into bite-sized chunks, the combine the chicken with the rest of the chicken marinade ingredients in a bowl. Mix until evenly coated, then refrigerate for at least 1 hour.
Skewer the marinated chicken pieces on bamboo skewers, then place them over a baking tray lined with parchment paper, making sure there is space underneath the chicken to help distribute the heat more evenly.
Bake for about 15 minutes until slightly dark brown on the edges.
Heat oil in a large pot over medium heat, then sauté the onions, ginger, and garlic until tender but not browned.
Fry the spices for about 30 seconds to release their aromatics and flavor, stirring constantly, then stir in the tomato puree.
Add the tomato sauce and water, then bring to a boil and cook for about 5 minutes.
Pour in the cream and mix in the chicken, cooking for another 1-2 minutes.