Nettoyer les artichauts, enlever les feuilles les plus dures et les tiges. Conserver la partie la plus tendre et couper les en 4. Les mettre dans de l'eau citronnée. Les égoutter et les cuire à l'eau bouillante avec la moitié du citron.
Dans un faitout, faire revenir l'oignon émincé dans l'huile d'olive. Ajouter le céleri émincé, remuer et verser la tomate. Écraser les tomates. Saler et poivrer. Laisser mijoter 8 mn.
Ajouter les olives coupées en petits morceaux, les câpres et les artichauts égouttés. Laisser mijoter encore 8-10mn.
A la fin ajouter le vinaigre et le sucre. Remuer et laisser 2-3mn le temps que le vinaigre s'évapore.