Mikel Arteta missed a last-minute penalty as Arsenal had to settle for a draw after a thrilling six-goal encounter with Fulham.
Olivier Giroud's header and Lukas Podolski's close-range strike looked to have put the Gunners in control.
Wenger frustrated by Fulham draw
But Dimitar Berbatov inspired a Fulham reply, heading in before teeing up Alex Kacaniklic's 40th-minute equaliser.
Berbatov's spot-kick gave the visitors a 3-2 lead but Giroud levelled, before Mark Schwarzer saved Arteta's penalty.
It was a dramatic climax to an exciting match, with referee Phil Dowd blowing the final whistle immediately after the Australian keeper's full-stretch save low to his left.
Had the penalty gone in Fulham would have felt aggrieved, as the award of a spot-kick against Sascha Riether looked harsh, with the defender doing his best to withdraw his arm as Andrei Arshavin crossed.
Arsenal might have expected an altogether less eventful afternoon - they have not lost at home to Fulham in 108 years.
But they had more reason than usual to fear the visitors before this match, having made their worst start to a Premier League season under manager Arsene Wenger.
Steve WilsonBBC Match of the Day commentator
"What a climax, what a finale. That was two points thrown away by Arsenal and Arsene Wenger's expression at the end told you everything you need to know."
Add to that the fact the Cottagers are no longer the pushovers they once were on the road - they had earned 16 points from their previous 16 away matches and were level with the Gunners on 15 points before kick-off - and there was plenty of cause for concern at Emirates Stadium.
But any pessimism generated by the Gunners' run of three defeats in their previous six matches quickly evaporated as the home side seized the initiative.
Despite seeing little of the ball in the opening exchanges, they took the lead when Giroud headed in from Theo Walcott's right-wing corner after 11 minutes.
It was a timely second league goal of the season for Giroud, who is under pressure for his central striking role from Walcott and Podolski, who have both stated their desire to start up front rather than out wide.
But the attacking trio's shape was clearly working, as midway through the half, with Fulham temporarily down to 10 men because of an injury to Kieran Richardson, Podolski doubled the lead, converting from six yards following Arteta's cutback.
Fulham have scored more Premier League goals this season than any team except Manchester United
Fulham, though, refused to be discouraged and continued to probe patiently. Only the division's top team, Manchester United, have scored more than them this season and they soon showed their attacking prowess.
Much of their potency has come via Berbatov, who was central to their swift response, first capitalising on static Arsenal marking to nod in from Bryan Ruiz's corner, then turning provider to cross for Alex Kacaniklic to head beyond Vito Mannone.
Arsenal needed a show of character and Walcott, on his first Premier League start since the opening day of the season, began to emerge as a threat.
But, against the run of play, Arteta dawdled on the edge of his area and was robbed of possession by Ruiz, who was then bundled over by the Arsenal midfielder, with Dowd pointing to the spot.
Flowing Fulham please boss Jol
Berbatov coolly converted for his second of the match to give Fulham hope of a historic victory in north London.
Arsenal, though, responded almost instantly. After being played in by Santi Cazorla, Giroud's shot struck the post but bounced out to Walcott, who crossed for the Frenchman to score his second header of the match.
Both sides had chances to snatch victory, with Giroud going close to a hat-trick with a 30-yard effort saved by Schwarzer and Ashkan Dejagah failing to capitalise when in space inside the area before Arteta's penalty miss.
But a point apiece was ultimately a fair outcome from a game which both sides will feel they might have won.
Fulham manager Martin Jol:
"We played some fantastic stuff. Before the game we said we would try to dominate them, which is hard here, but we managed that.
"I can't remember being 2-0 down - especially here - then being 3-2 ahead and we could have scored two or three goals after that.
"I really thought this could be the first time ever [for Fulham] to beat them away, but in the end it was not to be.
"However, if you concede a penalty in the last 20 seconds and then still do not lose, maybe we should be pleased in hindsight."
Full Time The final whistle goes and the game is over.
90:00 +4:07 Penalty
A save by Mark Schwarzer from penalty by Mikel Arteta. Arsenal 3-3 Fulham.
90:00 +4:02 Booking
Booking Booking for Chris Baird.
Sascha Riether handles the ball and concedes a .
Mikel Arteta takes the inswinging corner, Chris Baird makes a clearance.
Inswinging corner taken from the left by-line by Mikel Arteta, Steve Sidwell makes a clearance. Outswinging corner taken right-footed by Santi Cazorla from the right by-line, Brede Hangeland manages to make a clearance. Mikel Arteta takes a shot. Sascha Riether gets a block in.
Headed effort on goal by Olivier Giroud from inside the penalty box misses to the right of the goal.
The assistant referee flags for offside against Dimitar Berbatov. Vito Mannone restarts play with the free kick.
Bryan Ruiz takes the outswinging corner, Headed effort from inside the penalty area by Brede Hangeland misses to the right of the target.
Unfair challenge on Sascha Riether by Olivier Giroud results in a free kick. Aaron Hughes takes the free kick.
Thomas Vermaelen restarts play with the free kick.
Substitution Damien Duff on for Ashkan Dejagah.
Substitution Andrey Arshavin is brought on as a substitute for Theo Walcott.
Alex Oxlade-Chamberlain fouled by Ashkan Dejagah, the ref awards a free kick.
Corner taken by Theo Walcott from the right by-line, Steve Sidwell manages to make a clearance.
Olivier Giroud takes a shot. Save by Mark Schwarzer. Theo Walcott takes a outswinging corner to the near post, Bryan Ruiz makes a clearance.
Vito Mannone restarts play with the free kick.
Substitution Lukas Podolski leaves the field to be replaced by Alex Oxlade-Chamberlain.
Bryan Ruiz is ruled offside.
Corner taken left-footed by Bryan Ruiz from the right by-line to the near post, clearance made by Olivier Giroud.
Santi Cazorla takes a shot. Brede Hangeland gets a block in.
Bryan Ruiz takes a shot. Save by Vito Mannone. Bryan Ruiz takes the outswinging corner, Olivier Giroud makes a clearance.
Assist on the goal came from Theo Walcott.
68:37 Goal scored
Goal! - Olivier Giroud - Arsenal 3 - 3 Fulham Olivier Giroud grabs a headed goal from close in. Arsenal 3-3 Fulham.
Shot from just outside the box by Olivier Giroud hits the post.
Alex Kacaniklic takes a shot. Save made by Vito Mannone.
Theo Walcott takes a shot. Mark Schwarzer makes a save.
Bryan Ruiz provided the assist for the goal.
66:07 Goal scored
Goal! - Dimitar Berbatov - Arsenal 2 - 3 Fulham Penalty taken right-footed by Dimitar Berbatov and scored. Arsenal 2-3 Fulham.
Penalty awarded for an unfair challenge on Bryan Ruiz by Mikel Arteta.
Steve Sidwell fouled by Aaron Ramsey, the ref awards a free kick. Chris Baird restarts play with the free kick.
Theo Walcott takes a shot. Brede Hangeland gets a block in. Theo Walcott takes the outswinging corner, clearance made by Aaron Hughes.
Shot comes in from Santi Cazorla from the free kick.
Booking Booking for Aaron Ramsey.
Santi Cazorla fouled by Steve Sidwell, the ref awards a free kick.
Lukas Podolski concedes a free kick for a foul on Ashkan Dejagah. Free kick taken by Chris Baird.
Theo Walcott takes a outswinging corner from the right by-line to the near post, clearance by Brede Hangeland.
Substitution Aaron Ramsey joins the action as a substitute, replacing Francis Coquelin.
Theo Walcott produces a left-footed shot from just outside the area that goes harmlessly over the bar.
Theo Walcott fouled by John Arne Riise, the ref awards a free kick. Theo Walcott crosses the ball in from the free kick, clearance by Dimitar Berbatov.
Shot from just outside the area by Bryan Ruiz misses to the right of the target.
Unfair challenge on Ashkan Dejagah by Thomas Vermaelen results in a free kick. Chris Baird restarts play with the free kick.
The referee blows for offside against Alex Kacaniklic. Bacary Sagna restarts play with the free kick.
Bryan Ruiz fouled by Lukas Podolski, the ref awards a free kick. Chris Baird takes the free kick.
The second half kicks off.
45:00 +2:48 Half time
Half Time The players leave the pitch at half time.
Ashkan Dejagah produces a left-footed shot from close range which goes wide of the left-hand post. Corner from right by-line taken by Bryan Ruiz.
Olivier Giroud gives away a free kick for an unfair challenge on Aaron Hughes. Chris Baird restarts play with the free kick.
The referee blows for offside against Olivier Giroud. Indirect free kick taken by Aaron Hughes.
Mikel Arteta crosses the ball, Olivier Giroud produces a header from inside the area that goes over the bar.
Booking Caution for Steve Sidwell.
Steve Sidwell concedes a free kick for a foul on Santi Cazorla.
Assist on the goal came from Dimitar Berbatov.
39:16 Goal scored
Goal! - Alex Kacaniklic - Arsenal 2 - 2 Fulham Alex Kacaniklic scores a headed goal from inside the penalty area. Arsenal 2-2 Fulham.
Free kick awarded for an unfair challenge on Dimitar Berbatov by Laurent Koscielny. Sascha Riether takes the direct free kick.
Unfair challenge on Bryan Ruiz by Olivier Giroud results in a free kick. Direct free kick taken by Chris Baird.
Handball by Ashkan Dejagah. Thomas Vermaelen takes the free kick.
Lukas Podolski concedes a free kick for a foul on Ashkan Dejagah. Free kick crossed left-footed by Bryan Ruiz from right wing, clearance by Olivier Giroud.
Unfair challenge on Santi Cazorla by Brede Hangeland results in a free kick. Theo Walcott produces a shot on goal direct from the free kick, Dimitar Berbatov gets a block in.
Shot from just outside the penalty box by Dimitar Berbatov misses to the left of the target.
Bryan Ruiz provided the assist for the goal.
28:11 Goal scored
Goal! - Dimitar Berbatov - Arsenal 2 - 1 Fulham Dimitar Berbatov finds the back of the net with a headed goal from close in. Arsenal 2-1 Fulham.
Inswinging corner taken by Bryan Ruiz from the right by-line,
Ashkan Dejagah challenges Thomas Vermaelen unfairly and gives away a free kick. Vito Mannone restarts play with the free kick.
Substitution Alex Kacaniklic is brought on as a substitute for Kieran Richardson.
The assist for the goal came from Mikel Arteta.
22:08 Goal scored
Goal! - Lukas Podolski - Arsenal 2 - 0 Fulham Lukas Podolski scores a goal from close range low into the middle of the goal. Arsenal 2-0 Fulham.
Free kick awarded for an unfair challenge on Kieran Richardson by Francis Coquelin. Free kick taken by Kieran Richardson.
Olivier Giroud fouled by Aaron Hughes, the ref awards a free kick. Mikel Arteta restarts play with the free kick.
Santi Cazorla gives away a free kick for an unfair challenge on Steve Sidwell. Free kick taken by Chris Baird.
Assist by Theo Walcott.
10:29 Goal scored
Goal! - Olivier Giroud - Arsenal 1 - 0 Fulham Olivier Giroud finds the back of the net with a headed goal from close in. Arsenal 1-0 Fulham.
Outswinging corner taken from the right by-line by Theo Walcott,
Steve Sidwell concedes a free kick for a foul on Theo Walcott. Mikel Arteta takes the free kick.
Dimitar Berbatov is caught offside. Free kick taken by Per Mertesacker.
Olivier Giroud has a shot on goal from long range that goes wide left.
John Arne Riise gives away a free kick for an unfair challenge on Theo Walcott. Direct free kick taken by Bacary Sagna.
Bryan Ruiz takes a shot. Blocked by Per Mertesacker. Corner taken left-footed by Bryan Ruiz from the right by-line to the near post, Per Mertesacker manages to make a clearance.
The official flags Dimitar Berbatov offside. Vito Mannone takes the free kick.
Dimitar Berbatov concedes a free kick for a foul on Per Mertesacker. Mikel Arteta takes the free kick.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.