Indian food, or should I say "Indian-inspired", if you can get a good recipe or get the dish to come out right it is so worth it because Indian cuisine is brimming with beautiful complex flavor.
In a small bowl combine salt, cumin, coriander, and cayenne. Sprinkle chicken all over with spice mixture, pressing mixture into chicken. Wrap chicken in plastic and refrigerate for 30 minutes to 1 hour. Meanwhile, whisk yogurt, oil, ginger, and garlic in a large bowl.
For the sauce:
Heat oil in a large Dutch oven over medium heat until hot and shimmering. Add onion and cook, stirring often, until softened and light brown, about 8-10 minutes. Add garlic, ginger, serrano, tomato paste, and garam masala, stirring often, until fragrant, about 3 minutes. Add crushed tomatoes, sugar, and 1/2 teaspoon salt and bring to a boil. Reduce heat to medium-low, cover, and simmer for 15 minutes, stirring occasionally. Stir in cream and return to a simmer. Remove pan from heat and cover to keep warm. Sauce can be made up to 4 days ahead of time.
Cook the chicken:
Meanwhile, set oven rack 6-inches away from upper heating element. Preheat broiler. Spray a large wire rack with nonstick cooking spray and place over a foil-lined rimmed baking sheet. Dip spiced chicken into yogurt mixture, coat evenly, then place on a wire rack. Discard remaining yogurt mixture. Broil chicken until an instant-read thermometer inserted into the thickest part registers 160 degrees F and the exterior is slightly charred in spots, 10-18 minutes total, flipping chicken halfway through.
To finish:
Let chicken rest 5 minutes then cut into 1-inch chunks. Stir chicken into warm sauce. Stir in cilantro, season to taste with salt, and serve.