Dans un grand bol, mélangez le yaourt, la pâte de curry, le jus de citron, le sel et le poivre. Ajoutez les cubes de poulet et mélangez bien pour les enrober. Laissez mariner au réfrigérateur pendant au moins 1 heure, idéalement toute la nuit.
Dans une grande poêle, chauffez l'huile d'olive à feu moyen. Ajoutez l'oignon et faites-le revenir jusqu'à ce qu'il soit doré, environ 5 minutes.
Ajoutez l'ail et le gingembre, puis faites cuire encore 1 à 2 minutes jusqu'à ce que les arômes se dégagent.
Incorporez les tomates concassées et le sucre. Laissez mijoter pendant 10 minutes, en remuant de temps en temps.
Ajoutez le poulet mariné à la sauce et faites cuire pendant 15 à 20 minutes, jusqu'à ce que le poulet soit bien cuit.
Réduisez le feu et incorporez la crème fraîche. Mélangez bien et laissez mijoter encore 5 minutes. Ajustez l'assaisonnement si nécessaire.
Servez chaud, garni de coriandre fraîche, avec du riz basmati ou des naan.