Benjamin Andre looked to have given the away side the win, but late goals from Claudio Beauvue and Moustapha Diallo gave the host's an unlikely 2-1 win.
© Getty Images
The away side took the lead just four minutes before half time, when Andre's header from a free kick was spilt by Guy N'dy Assembe into the corner of the net.
While Guingamp enjoyed much of the attacking possession in the first half, Ajaccio had two great chances to double their lead through Dennis Oliech after the break. First he forced Assembe into pushing his shot away from the bottom corner, before slotting an effort wide of the far post from just inside the box.
Guingamp thought they had drawn level with 25 minutes left to play when Christophe Mandanne hit a fierce shot from range towards the far post, but Guillermo Ochoa flew to his left to make a fine save.
However, Guingamp found a leveller with seven minutes left to play when Beauvue pulled off a stunning bicycle kick at the far post following a floated cross from the right to get them back in the match.
Guingamp then completed the turnaround in stoppage time when Diallo found space in a busy penalty area to guide a diving header into the bottom corner to spark a made frenzy among the home supporters.
Guingamp climb to fifth in the table, while Ajaccio drop into the relegation zone following the defeat.