Fulham dug deep to stun Arsenal 2-1 at Craven Cottage to inflict a second successive Premier League defeat on Mikel Arteta's men.
Bukayo Saka scored after just five minutes but the Cottagers rallied through Raul Jimenez and Bobby De Cordova-Reid to claim all three points and deny Arsenal the chance to climb to the top of the table.
The victory eased some pressure on Marco Silva, whose side ended a run of three straight defeats.
The Gunners landed the first blow when Kai Havertz drove forward from midfield and picked out Gabriel Martinelli. His shot was parried by Bernd Leno into the path of Saka who tapped home to make it 1-0.
Fulham had the chance to draw level after 14 minutes when Willian found the overlapping Antonee Robinson, who delivered a perfect cutback to Jimenez but the Mexican international's shot was comfortably saved by David Raya.
Jimenez returned to the side after he served a three-game suspension after his sending off during Fulham's 3-0 defeat at Newcastle and he looked eager to impress.
Willian's quality shone through against his former side and after his deflected shot won a corner he produced a deft chip to partner Jimenez, who fired over.
And the home side's persistence paid off with the equaliser in the 29th minute.
Willian wreaked havoc down the left and played in captain Tom Cairney, whose whipped cross found Jimenez and he produced a neat first-time finish to claim his fifth goal of the season.
The Cottagers completed the turnaround after 59 minutes as Willian sent a corner deep into the box and after Joao Palhinha's header deflected off Declan Rice the ball bobbled into the path of De Cordova-Reid, who poked home.
A well-worked move saw Saka sky a volley from six yards out as it started to appear it was not going to be Arsenal's day.
Jimenez beat William Saliba to a loose ball before he found Cairney but his long-range strike was magnificently stopped by Raya.
The Cottagers almost extended their advantage in the 88th minute when William Saliba cynically fouled Harry Wilson and was fortunate to only be shown a yellow card by referee Josh Smith.
Andreas Pereira then saw his dipped effort rebound off Raya's crossbar before the hosts successfully defended a barrage of Arsenal corners during five added minutes to claim the win.
*copy from PA.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here