After battling back from a Michu goal, Arsenal went ahead through goals from Lukas Podolski and Kieran Gibbs, only to throw it away as Danny Graham, scored with three minutes left to set up a replay at the Emirates.
There had been little indication of the tumultuous finish to come during an opening half of little action and no goals.
Santi Cazorla wasted the best chance of the half when Gibbs dispossessed Nathan Dyer and then astutely pulled the ball back for the Spaniard to fire over the bar.
Swansea went closer still at the other end when former Arsenal man Kyle Bartley, headed against the bar from Jonathan de Guzman’s pin-point delivery.
An acrobatic Giroud volley again saw Vorm spring into action, and Swansea’s sluggish start to the second period prompted manager Michael Laudrup to summon Michu and Pablo Hernandez for Wayne Routledge and Jonathan De Guzman in the 57th minute.
And it took Michu no time to make an impact. The Spaniard seized on Graham’s flick to nod past Laurent Koscielny and race through to slot his 15th goal of the season left-footed beyond Szczesny.
The Gunners poured forward in search of a tying goal and with Swansea unable to stem the onslaught they looked likely to get one, but the visitors were made to wait until nine minutes from time. The host failed to clear a corner and Mikel Arteta’s reverse pass found Podolski, who fired low into the corner of Vorm’s net.
And the Gunners stunned their hosts by taking the lead just two minutes later. Giroud played a lovely lofted ball into the path of Gibbs, who blasted a volley high into the net. Arsenal should have seen the game out, but Swansea rebounded off the ropes to find an equalizer as Graham rifled home from an acute angle.