Mikel Arteta’s side were blown away by first half goals from Jean-Philippe Mateta and Jordan Ayew at Selhurst Park.
Unable to muster a revival after the break, Arsenal’s second defeat in their last three league games was sealed by Wilfried Zaha’s late penalty.
Watch the world’s best footballers every week with beIN SPORTS on Kayo. LIVE coverage from LaLiga, Bundesliga, Ligue 1, Serie A, Carabao Cup, EFL & SPFL. New to Kayo? Try 14-Days Free Now >
Arsenal had gone into the weekend in fourth place, but Tottenham’s 5-1 win against Newcastle piled pressure on the Gunners and their response could not have been any less convincing.
“It’s been a night to forget for the Gunners,” former footballer and now Sky Sports pundit Alan Smith said.
“They’ll want to get out of here as quickly as possible.”
The battle to qualify for next season’s Champions League via a top four finish is heating up and Arsenal are in danger of wilting.
They sit in fifth place, behind Tottenham on goal difference having played a game less than their north London rivals.
West Ham and Manchester United, both three points behind Arsenal, will also fancy their chances after a result that blew the top four battle wide open.
It was an especially painful result for Arsenal fans given the presence in the Palace dug-out of Eagles boss Patrick Vieira, a Gunners legend after his trophy-filled playing career with the club.
How they could have done with the kind of tenacious performance that was Vieira’s hallmark in midfield during Arsenal’s glory days.
Vieira comfortably out-witted Arteta, who was voted the Premier League’s manager of the month for March after masterminding his side’s climb into contention for a top four berth.
Those Champions League ambitions don’t look so believable now.
Palace took the lead in the 16th minute after Ben White needlessly fouled Zaha. Conor Gallagher swung his free-kick towards the far post, where Joachim Andersen headed it back across for Mateta to nod home from six yards for his sixth goal this term.
If that was a sloppy goal to concede, there was worse to come for Arteta eight minutes later.
Andersen’s long pass should have been easy for the Arsenal rearguard, but Gabriel made a hash of his attempt to intercept, completely missing the ball as Ayew eluded the dozing Nuno Tavares to score with a composed finish from the edge of the area.
The Ghana forward’s second goal this season left Arteta scratching his head in disbelief.
Without Scotland left-back Kieran Tierney due to a knee injury, Arsenal’s defence was in disarray and Zaha swept through to tee up Mateta for a chance that Aaron Ramsdale saved at full stretch.
Arsenal didn’t manage an effort on target into the final seconds of the half and even the Gabriel’s tame header was straight at Vicente Guaita.
Out-fought and out-played in the first half, Arsenal needed an immediate response after the break but Bukayo Saka’s penalty appeal was waved away after he was bundled over by Cheikhou Kouyate.
Although there was more urgency about Arsenal in the second half, they still lacked a cutting edge.
Emile Smith Rowe shot straight at Guaita with the goal at his mercy before Martin Odegaard fired wastefully wide from Saka’s cross.
Arsenal were punished for their profligacy in the 74th minute as Zaha’s raid prompted Odegaard to concede a penalty as he clipped the forward’s ankle.
Zaha dusted himself down and converted the spot-kick with ease, sending Ramsdale the wrong way to leave Arsenal’s top four bid in the balance.