Mix yogurt, garlic, ginger, and salt in a medium-sized bowl. Add chicken and toss to coat. Cover and chill for as long as you're able.
Melt 4 tbsp butter in a large wide pot over medium heat. Cook cinnamon and cloves, stirring, until slightly darker and fragrant, 1–2 minutes. Add onion and red pepper flakes, season with salt, and cook, stirring occasionally, until onion is golden and beginning to caramelize, 8–10 minutes. Add garlic and ginger and cook, stirring, until very fragrant and ginger starts to turn golden and sticks to bottom of pot, 2–3 minutes. Add garam masala, paprika, and turmeric and cook, stirring, until very fragrant, about 1 minute.
Add tomatoes, breaking up into pieces with a spoon, and cook until brick red and most of the liquid is evaporated, about 1 minute. Using a large spoon, smash tomatoes and continue to simmer, uncovered, until sauce is the consistency of a thick ragù, 30ish minutes. Discard cinnamon stick (leave other whole spices).
Transfer mixture to a blender and purée until smooth. Cut remaining 4 tbsp butter into pieces. Add butter and cream to blender and purée until creamy; season with salt. Return sauce to pot and bring to a simmer.
Meanwhile, preheat broiler. Arrange chicken in a single layer on a wire rack set inside a foil-lined rimmed baking sheet. Broil until chicken starts to brown in spots (it will not be cooked through), 7–8 minutes per side. When cool enough to handle, cut into ¾" pieces. Add chicken to simmering sauce, cover, and cook until chicken is cooked through, 8–10 minutes.
Top chicken and sauce with cilantro. Serve with rice and enjoy!