Marinade zubereiten: Hähnchen in eine nicht poröse Glasschale oder Schüssel legen. 1 Esslöffel Zitronensaft, 1 Esslöffel Chilipulver und Salz hinzufügen; umrühren, damit das Huhn gleichmäßig bedeckt ist. Die Schüssel abdecken und etwa 1 Stunde lang im Kühlschrank marinieren lassen.
Ein Sieb mit Mulltuch auslegen. Den Joghurt in das Sieb geben und 15 bis 20 Minuten abtropfen lassen. Den abgetropften Joghurt in eine mittelgroße Schüssel geben. Die restlichen 2 Esslöffel Zitronensaft, Öl, Knoblauchpaste, Ingwerpaste, geschmolzene Butter, den restlichen 1 Esslöffel Chilipulver und Garam Masala unter den Joghurt mischen, bis alles gut vermischt ist. Die Joghurtmischung über das Hähnchen gießen, die Schüssel abdecken und erneut in den Kühlschrank stellen, um es 3 bis 4 Stunden zu marinieren.
Den Ofen auf 400 Grad F (200 Grad C) vorheizen.
Hähnchen auf Spieße stecken und in einer 9x13-Zoll-Auflaufform anrichten.
Im vorgeheizten Ofen backen, bis das Huhn fast durchgebraten ist, etwa 20 Minuten.
Sauce zubereiten: Butter in einem mittelgroßen Topf bei mittlerer Hitze schmelzen. Garam Masala einrühren. Wenn das Masala zu knistern beginnt, Ingwerpaste, Knoblauch und grüne Chilischoten einrühren. 2 bis 3 Minuten anbraten, dann Tomatenpüree, Wasser, Chilipulver und Salz einrühren. Zum Kochen bringen; die Hitze auf niedrige Stufe reduzieren und köcheln lassen, dabei Honig und Bockshornklee einrühren.
Das vorgekochte Hähnchen von den Spießen nehmen und in die Soße im Topf geben. Weiter kochen, bis das Huhn innen nicht mehr rosa ist, etwa 5 Minuten. Ein Thermometer, das in die Mitte gesteckt wird, sollte mindestens 165 Grad F (74 Grad C) anzeigen. Sahne einrühren, bis sie eingearbeitet ist.