Laver et découper en 4 les tomates cerises. Eplucher et émincer finement l'ail et l'oignon. Hacher le persil .
Dans une casserole, faire fondre l'oignon à feux très doux jusqu'à ce qu'il soit translucide avec la cuillère d'huile d'olive.
Ajouter les tomates, les cranberries, l'ail, la cannelle, le gingembre, le sel et le persil puis saupoudrer de sucre et verser les vinaigres et le jus du citron.
Amener doucement à petite ébullition et laisser cuire pendant 30 à 40 minutes en remuant de temps en temps. Saler et poivrer. mélanger le tout.
Laisser refroidir avant d'ouvrir la cocotte puis mettre en bocaux.