In a bowl, marinate the chicken pieces in yogurt, Royco curry spice, turmeric spice, ground cumin, paprika spice, and garam masala. Let it marinate for at least 30 minutes or refrigerate for a few hours.
In a large pan, heat the vegetable oil over medium heat. Add the chopped onion and sauté until golden brown.
Add the Royco ginger and garlic spices to the onions. Sauté for another minute until fragrant.
Add the marinated chicken to the pan and cook until the chicken is browned on all sides.
Stir in the crushed tomatoes and let the mixture simmer for about 10 minutes, allowing the flavours to meld.
Add the heavy cream and unsalted butter, stirring until the butter melts and the sauce becomes creamy. Season with salt and pepper to taste.
Simmer the butter chicken for an additional 10-15 minutes until the chicken is cooked through and the sauce has thickened.
Garnish with fresh coriander and serve over cooked rice or with naan.