Rincez puis essuyez tomates et aubergines en conservant la peau. Rincez et séchez le céleri. Posez les tomates sur une plaque allant au four. Fendez la peau en croix sur le dessus de chaque tomate, enfournez 30 minutes. Coupez les aubergines en petits cubes puis mettez les dans une grande passoire avec 2 càs de gros sel. Mélangez en secouant la passoire, laissez dégorger au moins 30 minutes.
Sortez les tomates du four, laissez un peu refroidir avant de les peler et de les épépiner, Coupez en petits morceaux. Pelez les oignons, émincez très finement oignons et céleri.
Posez une grande sauteuse avec 15 cl d'huile d'olive sur feu fort. Dès que l'huile est chaude, ajoutez la moitié des aubergines par poignées tout en les séchant avec du papier absorbant. Laissez revenir une dizaine de minutes en remuant souvent puis sortez sur un plat. Faites de même avec le reste d'aubergines en rajoutant de l'huile.
Remplacez les aubergines par le céleri et les oignons. Laissez colorer 5 mn en remuant. Versez le vinaigre, laissez bouillir 2 mn.
Ajoutez les tomates dans la sauteuse avec sucre, câpres, raisins secs et olives. Mélangez, couvrez, laissez compoter 20 mn à petit feu.
Versez les aubergines dans la sauteuse, poivrez généreusement, ne salez pas. Mélangez bien, couvrez, laissez mijoter environ 1 heure à petit feu en remuant de temps en temps.
Pendant la cuisson de la caponata, faites légèrement griller les pignons dans une poêle sans matière grasse. Parsemez de pignons juste avant de servir.