Joao Palhinha’s late equaliser earned Fulham a point in an action-packed London derby at the Emirates Stadium.
Andreas Pereira put the Whites ahead in the first minute but two Arsenal goals in as many minutes in the second half turned the game in the hosts’ favour before Cavin Bassey was sent off.
Bukayo Saka levelled just before Eddie Nketiah scored a controversial second for the Gunners.
Fulham were reduced to 10 men on 83 minutes after Bassey was dismissed on his full debut, but Palhinah’s sweetly-struck half-volley brought them level in dramatic fashion.
It was a dream start for the visitors, who went in front after a mistake by Saka.
The England international from Ealing gave the ball straight to Pereira, who ran towards goal and slotted past keeper Aaron Ramsdale.
Saka atoned by equalising from the penalty spot after Fabio Vieira had been brought down by Kenny Tete.
And Nketiah netted soon afterwards, leaving Fulham with every reason to feel aggrieved.
When play was allowed to continue after Bassey was dragged down by Saka, the Fulham defender was adjudged to be playing Nketiah onside when the striker tucked away Vieira’s cross.
Worse followed for Fulham and Bassey when he was given a second yellow card following a foul on Nketiah, but Marco Silva’s side hit back in fine style.
Fulham: Leno, Tete, Bassey, Jimenez, Wilson (Adama 71), De Cordova-Reid (Tosin 89), Pereira (Cairney 63), Paulinha, Lukic (Reed 70), Diop, Robinson.
Subs not used: Rodak, Muniz, Mbabu, Vinicius, Harris.