Bobby Zamora scored in the final minute of injury time to help Fulham come from behind to beat 10-man Arsenal.
The visitors dominated the first 45 minutes, but only had Laurent Koscielny's header to show for it.
Fulham's Philippe Senderos and Clint Dempsey went close in a one-sided second half before Johan Djourou was sent off for a second yellow card.
Steve Sidwell headed an equaliser in the 85th minute and Zamora volleyed home to seal a dramatic victory.
Did you know?
This was Martin Jol's first victory over Arsene Wenger in nine Premier League attempts
It was an incredible turnaround in fortunes for Martin Jol's men, who should have been out of the contest by half-time.
With Mikel Arteta and Aaron Ramsey pulling the strings in midfield, they were left chasing shadows for much of the first half.
But while it was a masterclass in possession from Arsenal, some of their finishing left a lot to be desired.
The Gunners were wasteful in attack, with Theo Walcott and Gervinho particularly frustrating in their inability to finish off some free-flowing moves.
Gervinho was, however, unlucky not to win a penalty when he was tripped by Senderos after good work from Robin van Persie.
With the Gunners in total command, it was no surprise when they took the lead, as Koscielny headed home Ramsey's deflected cross from close range.
The defender was left unmarked in the area, a worrying trait that continued to blight the cavalier Cottagers throughout the first half.
They were reliant on poor Arsenal finishing and some exceptional goalkeeping from David Stockdale to remain in the game.
Did you know?
Djourou is the fourth different Arsenal player to be red-carded in the Premier League this season. Bolton have also had four different players sent-off
The pick of the keeper's saves came when he denied Ramsey and Alex Song in the same attack - the second of the close-range stops underlining why England manager Fabio Capello thinks so highly of the 26-year-old.
Fulham did enjoy one bright moment towards the end of the half when Bryan Ruiz shot wide after a mazy run at the heart of the visitors' defence.
The home side improved after the break with former Arsenal trainee Sidwell twice going close, first with a header and then with a long-range shot that just cleared the bar.
Jol's men were showing much more urgency and ambition, causing Arsenal to retreat, and both Senderos and Clint Dempsey headed glorious chances wide.
And Fulham were left cursing their luck once again when Ruiz saw his shot saved by Wojciech Szczesny.
However, they were given hope when the Gunners were reduced to 10 men after Djourou was shown a second yellow card for a foul on Zamora.
The improbable became possible when Sidwell headed home a corner that Arsenal failed to clear, and the Fulham supporters were soon delirious when Zamora stabbed home Stephen Kelly's cross.
It was no more than they deserved for a stirring second-half fightback that combined class and character.
Arsenal supporters were daring to dream of a crack at the Premier League title at half-time. By full-time, they will be left wondering whether a top-four finish is achievable.
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +1:59
Stephen Kelly provided the assist for the goal.90:00 +1:59 Goal scored
Goal! - Bobby Zamora - Fulham 2 - 1 Arsenal A goal is scored by Bobby Zamora from inside the six-yard box to the bottom right corner of the goal. Fulham 2-1 Arsenal.90:00 +1:55
The ball is sent over by Stephen Kelly, Sebastien Squillaci manages to make a clearance.90:00 +1:23
Moussa Dembele has an effort at goal from outside the penalty area missing to the wide left of the goal.90:00 +0:26
John Arne Riise has shot on goal from a long way out that goes wide left.90:00 +0:16
The ball is crossed by Stephen Kelly, Tomas Rosicky makes a clearance.89:47
Kerim Frei crosses the ball, save by Wojciech Szczesny.89:13
Tomas Rosicky has an effort at goal from the edge of the area that misses to the right of the target.88:26
Robin van Persie is flagged offside by the assistant referee. Brede Hangeland takes the indirect free kick.87:51
The assistant referee signals for offside against Bryan Ruiz. Wojciech Szczesny takes the indirect free kick.87:03
The official flags Kerim Frei offside. Wojciech Szczesny takes the indirect free kick.86:51
Stephen Kelly delivers the ball, Laurent Koscielny manages to make a clearance.84:17
The assist for the goal came from Philippe Senderos.84:17 Goal scored
Goal! - Steve Sidwell - Fulham 1 - 1 Arsenal Steve Sidwell finds the back of the net with a headed goal from close in. Fulham 1-1 Arsenal.84:07
Corner from the right by-line taken by Bryan Ruiz, save made by Wojciech Szczesny.83:59
Bobby Zamora takes a shot. Alex Song gets a block in.82:42
Bobby Zamora is ruled offside. Indirect free kick taken by Wojciech Szczesny.81:17
Unfair challenge on Mikel Arteta by Moussa Dembele results in a free kick. Direct free kick taken by Mikel Arteta.80:36 Substitution
Substitution Aaron Ramsey goes off and Sebastien Squillaci comes on.
Bobby Zamora delivers the ball.79:20
Inswinging corner taken by Bryan Ruiz from the right by-line played to the near post, Robin van Persie manages to make a clearance.77:40
Stephen Kelly produces a shot on goal direct from the free kick.77:40 Dismissal
Dismissal Johan Djourou shown a red card.77:31
Free kick awarded for a foul by Johan Djourou on Bobby Zamora.76:24
Unfair challenge on Laurent Koscielny by Bryan Ruiz results in a free kick. Direct free kick taken by Wojciech Szczesny.76:03
The ball is delivered by Kerim Frei, clearance made by Per Mertesacker.74:28
Bryan Ruiz takes a shot. Save made by Wojciech Szczesny.73:17
John Arne Riise takes the free kick.73:17 Substitution
Substitution Yao Gervinho goes off and Yossi Benayoun comes on.73:17
Free kick awarded for a foul by Tomas Rosicky on Kerim Frei.71:53
A cross is delivered by Stephen Kelly, Laurent Koscielny manages to make a clearance.70:40
Yao Gervinho produces a left-footed shot from the edge of the area and misses to the left of the goal.68:18
Free kick taken by Wojciech Szczesny.68:18 Substitution
Substitution Kerim Frei replaces Danny Murphy.68:18
Clint Dempsey is penalised for a handball.67:16
The referee blows for offside. David Stockdale restarts play with the free kick.66:37
The ball is swung over by Johan Djourou, Philippe Senderos makes a clearance.66:23
The ball is swung over by Yao Gervinho, Philippe Senderos manages to make a clearance.65:36
The ball is crossed by Bryan Ruiz, Close range header by Clint Dempsey misses to the right of the target.64:12 Substitution
Substitution Theo Walcott goes off and Tomas Rosicky comes on.62:32
Danny Murphy produces a cross, Headed effort from inside the area by Philippe Senderos misses to the right of the goal.62:32 Booking
Booking Johan Djourou is shown a yellow card.62:25
Moussa Dembele fouled by Johan Djourou, the ref awards a free kick.61:02
Moussa Dembele has an effort at goal from outside the penalty box missing to the wide right of the target.60:13
Robin van Persie concedes a free kick for a foul on Steve Sidwell. Philippe Senderos takes the free kick.58:54
Alex Song concedes a free kick for a foul on Clint Dempsey. Danny Murphy restarts play with the free kick. Steve Sidwell takes a long range shot clearing the crossbar.54:51
Centre by Stephen Kelly.54:10
Theo Walcott takes a shot. John Arne Riise gets a block in.52:52
Foul by Danny Murphy on Johan Djourou, free kick awarded. Mikel Arteta takes the direct free kick.51:38
The ball is crossed by Theo Walcott, Brede Hangeland makes a clearance.51:01
Free kick awarded for a foul by Johan Djourou on Clint Dempsey. Danny Murphy takes the free kick.49:33
The ball is crossed by John Arne Riise, Steve Sidwell produces a header from deep inside the six-yard box that clears the crossbar.48:21
Bobby Zamora is caught offside. Laurent Koscielny restarts play with the free kick.46:45
Bryan Ruiz takes a shot. Wojciech Szczesny makes a comfortable save.45:01
The second half has started.45:00 +1:27 Half time
Half Time It is the end of the first-half.45:00 +0:58
Outswinging corner taken right-footed by Danny Murphy, Philippe Senderos produces a header from deep inside the six-yard box that clears the crossbar.45:00 +0:08
Aaron Ramsey takes a shot. Save by David Stockdale.43:50
A cross is delivered by Clint Dempsey, Per Mertesacker manages to make a clearance.42:54
Robin van Persie is flagged offside by the assistant referee. Danny Murphy takes the free kick.41:56
Robin van Persie produces a cross, clearance by John Arne Riise.41:09
The ball is crossed by John Arne Riise, Headed effort from inside the area by Bobby Zamora misses to the right of the target.39:27
Theo Walcott takes a shot. Blocked by Philippe Senderos.38:33
The ball is swung over by Stephen Kelly.37:19
Shot from just outside the box by Theo Walcott misses to the left of the target.35:54
Effort from outside the penalty box by Clint Dempsey goes wide left of the target.34:25
Robin van Persie takes a shot. David Stockdale makes a comfortable save.32:03
A cross is delivered by Francis Coquelin, Robin van Persie takes a shot. David Stockdale makes a comfortable save.30:33
Effort from the edge of the box by Bryan Ruiz goes wide of the right-hand upright.30:01
Theo Walcott takes a shot. Save made by David Stockdale.29:21
Foul by Clint Dempsey on Aaron Ramsey, free kick awarded. The free kick is swung in left-footed by Robin van Persie, Stephen Kelly manages to make a clearance.29:01
Theo Walcott produces a cross, blocked by John Arne Riise.28:46
Robin van Persie takes a shot. Blocked by Brede Hangeland.28:00
Theo Walcott produces a cross, Steve Sidwell makes a clearance.26:01
Inswinging corner taken by Danny Murphy, Wojciech Szczesny makes a save.25:48
The ball is sent over by Bobby Zamora, Johan Djourou makes a clearance.24:48
Alex Song concedes a free kick for a foul on Brede Hangeland. Danny Murphy takes the free kick.22:07
Aaron Ramsey takes a shot. David Stockdale makes a brilliant save. Yao Gervinho takes a shot. Inswinging corner taken from the left by-line by Mikel Arteta, save by David Stockdale.21:49
Theo Walcott sends in a cross.20:30
A cross is delivered by Aaron Ramsey,20:16
Assist by Aaron Ramsey.20:16 Goal scored
Goal! - Laurent Koscielny - Fulham 0 - 1 Arsenal Laurent Koscielny grabs a headed goal from close in. Fulham 0-1 Arsenal.20:05
Mikel Arteta takes a shot. Aaron Ramsey gets a block in.19:44
Aaron Ramsey takes a short corner, The ball is crossed by Robin van Persie, Philippe Senderos makes a clearance.18:49
Bobby Zamora gives away a free kick for an unfair challenge on Laurent Koscielny. Wojciech Szczesny takes the direct free kick.17:54
Moussa Dembele fouled by Alex Song, the ref awards a free kick. Danny Murphy takes the free kick.15:08
The offside flag is raised against Theo Walcott. John Arne Riise restarts play with the free kick.13:26
Francis Coquelin concedes a free kick for a foul on Bobby Zamora. The ball is crossed by Danny Murphy, Brede Hangeland produces a header from deep inside the six-yard box that clears the bar.13:12
John Arne Riise delivers the ball.12:49
Free kick awarded for an unfair challenge on Bryan Ruiz by Mikel Arteta. Direct free kick taken by Bryan Ruiz.11:59
Aaron Ramsey sends in a cross, clearance made by Philippe Senderos.11:10
Free kick awarded for a foul by Steve Sidwell on Mikel Arteta. Per Mertesacker restarts play with the free kick.10:38
Moussa Dembele fouled by Alex Song, the ref awards a free kick. John Arne Riise takes the direct free kick.10:09
Foul by Robin van Persie on John Arne Riise, free kick awarded. Danny Murphy restarts play with the free kick.9:46
Bobby Zamora takes a shot. Save by Wojciech Szczesny.7:52
Robin van Persie takes the inswinging corner, Yao Gervinho produces a left-footed shot from close range which goes wide of the left-hand upright.7:13
The ball is sent over by Theo Walcott, clearance by Brede Hangeland.4:42
Bryan Ruiz takes a shot. Blocked by Mikel Arteta.3:49
Shot by Danny Murphy from just outside the area goes over the net.2:50
Aaron Ramsey takes a shot. Save made by David Stockdale.0:56
The ball is delivered by Theo Walcott, Effort on goal by Yao Gervinho from just inside the penalty area goes harmlessly over the target.0:00
The referee starts the match.
Live data and text provided by our data suppliers