Faire chauffer 1 cuillère à table d'huile dans une grande poêle à feu moyen-élevé.
Y faire cuire le poulet jusqu'à ce qu'il soit légèrement doré, environ 10 minutes. Enlever le poulet et réserver.
Faire chauffer le reste de l'huile dans une grande casserole à feu moyen-élevé. Faire sauter l'oignon, l'ail et le gingembre jusqu'à ce qu'ils ramollissent.
Ajouter le beurre, le jus de citron et les épices en remuant. Faire cuire 1 minutes en remuant.
Ajouter la sauce tomate et poursuivre la cuisson 2 minutes en remuant fréquemment.
Incorporer le lait et le yogourt. Baisser le feu et laisser mijoter 10 minutes en remuant fréquemment.
Ajouter le poulet à la sauce et porter à ébullition. Baisser à feu doux et laisser mijoter 15 minutes, jusqu'à ce que la sauce épaississe et que le poulet soit cuit.