Combine the chicken marinade ingredients in a medium bowl. Marinate for at least 30 minutes, preferably overnight.
Heat 1 tablespoon of oil in a large pan over medium-high heat. Fry the chicken in several batches until charred on the outside and cooked through. If a lot of burnt bits end up on the pan, make sure to wipe between batches. Remove the chicken to a plate.
In a large pot, melt the butter over medium heat. Cook the onions, garlic, and ginger for 7-8 minutes until golden.
Add the cumin, coriander, garam masala, kashmiri chili powder, salt, and turmeric. Cook for 30-60 seconds.
Add the crushed tomatoes and 2 cups of water. Use an immersion blender or blender to puree the mixture.
Add the sugar and cinnamon stick. Bring to a boil and simmer for 25-30 minutes.
Stir in the heavy cream and kassori methi. Bring to a gentle simmer for a few minutes, then add the chicken. Once the chicken is heated up, serve with naan or rice. Enjoy!