Place the cubed chicken into a large resealable plastic bag. Then whisk the remaining ingredients for the marinade in a bowl and pour into plastic bag. Seal then using your hands, massage and mix the chicken until all is coated with the marinade. Marinade for 6-8 hours or overnight.
When ready, heat a large skillet over medium-high heat and melt the butter in the skillet.
Once the butter is melted, add the onion. Cook until the onions are tender, about 3-5 minutes.
Add the bag of chicken and the marinade into the skillet. Stir to incorporate then pour the tomatoes in. Stir to combine.
Cook uncovered on medium heat until it comes to a simmer and until the chicken is cooked through, about 10-15 minutes.
Add the heavy cream, stir to incorporate and simmer for an additional 5 minutes.
Season with salt and pepper, to taste. Add cayenne if you want more heat.