Fulham 2 Arsenal 1
The Gunners looked set for victory as the Cottagers struggled to break down their makeshift defence and level Laurent Koscielny's 21st minute header.
However, Johan Djourou's sending off 12 minutes from time allowed Fulham to come back as Steve Sidwell equalised and then Zamora struck a late winner.
The home side spent most of the opening exchanges on the back foot.
Gervinho blazed over after a minute and then volleyed over at the backpost shortly after Aaron Ramsey got away a shot on goal.
But Wojciech Szczesny was forced into action to stop Zamora taking advantage in the 10th minute. The home side's spirited opening was almost undone three minutes later when former Gunners defender Philippe Senderos upended Gervinho in the box.
The Ivory Coast international seemed to have his legs swiped away but referee Lee Probert waved away the penalty appeals.
However, the visiting supporters who felt aggrieved were soon able to celebrate breaking the deadlock.
Ramsey found space to put in a cross from the left that, having taken a kind deflection off Stephen Kelly, was headed home by Laurent Koscielny.
Fulham's hopes of finding a leveller were boosted when Djourou was sent off for a second bookable offence after 78 minutes.
Jol's side pushed forward in numbers and found a way past Arsenal's backline when a corner was headed back across goal by Senderos and midfielder Sidwell headed home from close range.
Fulham continued to press forward and eked out a winner deep into stoppage time with Zamora volleying home from close range.
Aston Villa 0 Swansea 2
Swansea claimed their first away win in the Premier League. The Welsh side went ahead when Stephen Warnock gave the ball straight to Nathan Dyer, who fired past Brad Guzan. Wayne Routledge made it 2-0 shortly after half-time. Swansea were further boosted by the news they have signed midfielder Gylfi Sigurdsson on loan from Hoffenheim until the end of the season.
Blackburn 1 Stoke City 2
A first-half brace from Peter Crouch earned Stoke victory at Ewood Park as Blackburn failed to build on their stunning victory over Manchester United. Stoke took the lead in the 17th minute through Crouch. The big striker grabbed his second on the stroke of half time by finishing off a break and, although substitute David Goodwillie pulled one back with 21 minutes to go, it was not enough to prevent a third successive home defeat for Rovers.
QPR 1 Norwich 2
Queens Park Rangers’ captain Joey Barton scored and was then sent off as Norwich came from behind to win 2-1 at Loftus Road. Barton rifled home ahead from 12 yards on 11 minutes, only to then see red after an apparent headbutt on Bradley Johnson. Anthony Pilkington drew Norwich level just before half-time with a fine 20-yard effort before substitute Steve Morison completed the turnaround with eight minutes left.