Clean the chicken and pound it lightly for even thickness. Rub in the first marinade and rest at least 15 minutes.
Drain off the first marinade and coat the chicken with the second marinade. Rest at least 15 more minutes.
Grill or bake at 400°F for about 15 minutes, turning once. Brush with melted butter and broil briefly for a light char. Cut into bite sized pieces.
Heat the butter and oil in a large pan over medium heat. Sauté the onion with the ginger garlic paste until light brown.
Take the pan off the heat and stir in the cayenne and Kashmiri chili so the spices bloom without burning.
Return to the heat and add the crushed tomatoes, salt, and sugar. Cook a few minutes, then add the water and bring to a boil.
Lower the heat, cover, and simmer 10 minutes, stirring now and then.
Blend the curry smooth with an immersion blender.
Add the chicken pieces and simmer a few minutes. Add a splash of boiling water if you want more sauce.
Stir in the lime juice, garam masala, and cream. Simmer briefly, then garnish with roasted cumin, ginger strips, and cilantro. Serve hot with naan or basmati rice.