All looked to be going well for the visiting Gunners, who ended the match with ten men, when centre-back Laurent Koscielny put them in front after 21 minutes. Aaron Ramsey was the creator, sending in a cross which the centre-back headed past David Stockdale.
The Fulham goalkeeper was called into action just two minutes later to deny Ramsey and Alex Song in quick succession.
Hosts Fulham continued to press for an equaliser after the restart as a former Arsenal player, Philippe Senderos, went close with a headed effort.
With 12 minutes remaining Arsenal were reduced to ten men when Johan Djourou was handed his second caution of the match for a foul on Zamora.
It didn't take the home side long to make their numerical advantage count as Steve Sidwell deflected a Senderos flick-on past Szczesny with five minutes remaining.
They then turned one point into three deep into stoppage time when Zamora capitalised on a poor clearance from substitute Sebastien Squillaci to instantly shoot past Szczesny at his near post.