In a large mixing bowl, combine all the marinade ingredients and mix well. Add in the chicken pieces and stir until they are evenly coated. Cover and refrigerate for at least 1 hour.
Preheat your grill or grill pan over medium-high heat. Thread the marinated chicken pieces onto wooden skewers, leaving a bit of space between each piece for even cooking. Grill for about 10 minutes, flipping halfway through, or until the chicken is cooked through and slightly charred. Set aside.
In a blender or food processor, blend the diced tomatoes until smooth. Set aside.
In a large pot, heat the oil over medium heat. Add in the onions and cook until they are soft and translucent, about 5 minutes. Add in the minced garlic and grated ginger, and cook for an additional 2 minutes.
Stir in the paprika, cumin, coriander, and garam masala, and cook for 1 minute. Pour in the blended tomatoes and stir to combine. Let it simmer for 10 minutes, stirring occasionally.
Stir in the heavy cream and season with salt and pepper to taste. Add in the grilled chicken pieces and let it simmer for an additional 5 minutes.
Serve the chicken tikka masala over cooked basmati rice and top with chopped cilantro. Serve with naan bread on the side.