Sergio Ramos had fired home after his initial effort had come off the post in the 26th minute to give Spain the lead but they were left to rue Cesc Fabregas' missed penalty just before half-time as the visitors took control of the game after the break.
Karim Benzema and Moussa Sissoko looked to have squandered France's best chances to claim a point as they missed clear openings late on but with the last attack of the game Franck Ribery crossed for Giroud to head low into the far corner.
The draw means that both sides remain locked together at the top of Group I with seven points from three games.
As expected Vicente del Bosque had made just the one change from the side that started the 4-0 victory over Belarus on Friday as Andres Iniesta replaced Santi Cazorla, but the Arsenal midfielder was forced into action after just 10 minutes when David Silva had to come off with an injury.
Cazorla even had the first effort on goal after a slow start but his low drive was easily held by Hugo Lloris, but French boss Didier Deschamps will have been hugely frustrated that after comfortably soaking up the hosts' usual probing they conceded such a sloppy goal from a set-piece midway through the half.
Xavi's corner found Ramos completely unmarked just six yards from goal and after his initial header came back off the post, the defender was on hand to turn the ball high into the net when Pedro pulled it back across the area.
The goal though forced France forward and they were very nearly level 10 minutes later when Benzema was released by Ribery but his cross-shot could not beat his Real Madrid teammate Iker Casillas as the Spain captain turned the ball behind for a corner.
France threatened again moments later when Jeremy Menez was ruled narrowly offside when he prodded in Benzema's knock down from Yohan Cabaye's free-kick, but the visitors were then thankful to Lloris to only be 1-0 down at the break.
The Tottenham goalkeeper first produced a fine save down to his right to parry Fabregas' penalty after Laurent Koscielny had clattered into Pedro inside the area and three minutes later the French skipper saved his side again as he denied fierce efforts from Pedro and Fabregas inside the area.
Spain's start to the second period was disrupted just as it was in the first by an early injury as this time Alvaro Arbeloa limped off, replaced by Juanfran, and that change seemed to give Ribery some encouragement as he attacked with far more purpose than he had before the break.
The Bayern Munich playmaker saw a shot deflected just wide on 58 minutes before Koscielny failed to make a clean connection to turn in the resulting corner.
Fabregas and Xavi then had chances to seal the points but both were denied by last ditch French defending as they bore down on goal.
Benzema really ought to have brought Deschamps' men level as he somehow miscued from Ribery's fantastic cross with the goal at his mercy from five yards.
France continued to threaten though with Benzema's movement in particular causing all sorts of problems and he teed up another great chance for substitute Sissoko 17 minutes from time but the Toulouse midfielder blazed his volley over.
Benzema was eventually forced off himself with a knock two minutes from the end but it turned out to be a fortunate change for Deschamps as, with his only real involvement in the game, Giroud delicately directed Ribery's pinpoint cross into the net.