Fulham striker Bobby Zamora struck deep into injury time to seal a 2-1 win over Arsenal at Craven Cottage here on Monday in a Premier League match the Gunners led until five minutes from the finish.
The visitors were ahead through France defender Laurent Koscielny's first-half header but Fulham fought back after the interval.
Arsene Wenger's side were already hanging onto their lead when Johan Djourou was dismissed with 12 minutes remaining for his second booking and then Fulham's Steve Sidwell, a former Arsenal midfielder, drew the hosts level with a late header.
There was still time for one more twist in this all-London clash when Zamora sealed a stirring fightback with a well-struck volley in the third and final minute of added-on time.
Arsenal supporters were singing Thierry Henry's name at kick-off and will be anticipating their all-time record goalscorer's loan move back to the club even more following this result.
Gunners boss Wenger recalled Gervinho in place of Andrey Arshavin and it looked a good decision.
Gervinho was in the thick of the action in the early exchanges, starting with a volley over the crossbar in the first minute.
The Ivory Coast international also went too high when he was found unmarked at the far post from van Persie's corner, then he angered Fulham players when he went down in the area under Philippe Senderos's challenge.
Zamora, who'd recovered from an Achilles injury to play in this match, had Fulham's first effort on goal when his drive was saved by Wojciech Szczesny.
But Arsenal were ahead in the 21st minute through Koscielny's first goal of the season.
Aaron Ramsey set up the header with a cross from the left that flicked off Fulham full-back Stephen Kelly, with the ball floating invitingly for Koscielny to steer home.
Arsenal should have doubled the lead two minutes later when Sidwell challenged Ramsey in the penalty area and David Stockdale was required to save, with Alex Song's follow-up effort hitting the post.
Fulham's fightback was led by Bryan Ruiz, who shot just wide and then claimed a penalty when Song challenged him, although replays suggested the Cameroon midfielder won the ball.
But Ruiz was tricked by Francis Coquelin, who replaced the injured Thomas Vermaelen, and the youngster's cross led to a van Persie effort being saved by Stockdale.
Ruiz had the first chance of the second half, forcing Szczesny to save with a volley from the edge of the area, and Sidwell headed over from John Arne Riise's cross from the left.
Arsenal looked to break at pace and had a penalty appeal turned down when van Persie was challenged by Senderos.
But Senderos headed wide from a free-kick at the other end, and Clint Dempsey was also off target when Ruiz floated a cross for him to the far post.
Fulham were presented with a clear opportunity with 15 minutes remaining as Arsenal failed to clear properly, but Ruiz saw his shot saved by Szczesny.
Then came Djourou's dismissal. His first yellow card came for sliding in on Mousa Dembele, and he received another for bringing down Zamora on the edge of the penalty area.
Fulham capitalised with an equaliser involving two former Arsenal players.
Szczesny flapped at a corner and Sidwell headed home from close range after ex-Gunners defender Senderos nodded back into the danger area.
And in the dying seconds Arsenal then failed to clear a cross and the ball fell to England striker Zamora, who steered his volley inside the near post.