Palace, who caused problems early on by pressing the hosts’ defence and not giving them any time on the ball, netted with the match’s first shot. A deep free-kick hit Joachim Andersen on the back and sat up perfectly for Jean-Philippe Mateta to head home from close range. By the 23rd minute it was 2-0 as Jordan Ayew burst through one-on-one and curled past Aaron Ramsdale.
Arsenal were chasing a sixth straight away league win for the first time since 2002 but had no response. They could not get Martin Ødegaard, so often their creative force in midfield, on the ball and were all over the place in defence, whereas Palace swarmed forward and nearly got a third when Mateta had a rasping low drive saved.
Gabriel Martinelli came on for the visitors at the break as Mikel Arteta desperately searched for a way back into the game. They did start playing higher up the field and had a penalty appeal waved away when Bukayo Saka went down in the box, while Andersen had a free-kick saved at the other end.
Palace goalkeeper Vicente Guaita was finally tested just after the hour mark, although he comfortably denied Emile Smith-Rowe, whilst Ødegaard bundled a glorious chance wide. However, any hopes of a resurgence were obliterated when the Norwegian fouled Wilfried Zaha in the area, and the Ivorian duly fired home a third from the penalty spot.
Arsenal hit the bar late on through Eddie Nketiah, and the result is a huge blow to their hopes of qualifying for the Champions League for the first time since 2015/16 as they failed to jump back above Spurs into fourth, while Palace now sit in 9th.