Chop the chicken into chunks. In a large glass bowl, combine all the ingredients for the marinade and add the chicken. Marinate for at least an hour.
Discard the marinade and broil the chicken about 15 cm (6 inches) from the heat (or you can grill it on skewers) for about 10 minutes or until it starts to brown. Then turn the chicken pieces over and cook on the other side another 10 minutes, until it starts to brown and is cooked through.
While the chicken is cooking, make the sauce. Melt the butter in a medium sauce pan.
Add the garlic and cook for one minute.
Add all the spices and cook for another minute.
Stir in the tomato sauce, cover the pan, and simmer for about 10 minutes.
Add the cream and stir well. Finally, add the chicken. Sprinkle with chopped fresh cilantro.