Mélanger le yaourt, le garam masala, le cumin, le paprika, l'ail et le gingembre dans un grand bol. Ajouter le poulet et bien l'enrober. Couvrir et placer au réfrigérateur pendant au moins 1 heure, idéalement toute une nuit.
Faire chauffer un peu d'huile dans une poêle à feu vif. Saisir les morceaux de poulet quelques minutes de chaque côté pour les colorer. Le poulet n'a pas besoin d'être complètement cuit à cette étape.
Dans une grande poêle ou une casserole, faire revenir l'oignon dans un peu d'huile ou de beurre pendant environ 5 minutes, jusqu'à ce qu'il soit tendre.
Ajouter l'ail et le gingembre et poursuivre la cuisson pendant 1 minute.
Ajouter les tomates concassées et le garam masala. Saler, puis laisser mijoter environ 15 minutes à feu doux, jusqu'à ce que la sauce réduise et épaississe.
Mixer la sauce jusqu'à obtenir une texture parfaitement lisse, puis la remettre dans la poêle.
Hors du feu vif, incorporer le beurre et la crème liquide. Ajouter le fenugrec séché émietté entre les doigts pour libérer son parfum.
Ajouter les morceaux de poulet dans la sauce. Couvrir et laisser mijoter environ 10 minutes à feu doux, jusqu'à ce que le poulet soit complètement cuit.
Servir chaud avec du riz basmati ou du pain naan et parsemer de coriandre fraîche.