Arsenal missed the chance to break into the top three as Crystal Palace confirmed another season of Premier League football with a 3-2 win at Emirates Stadium.
Palace took the lead on 17 minutes when Christian Benteke scored his first goal in 51 weeks by heading in from Luka Milivojevic’s free-kick.
Alexandre Lacazette played in Mesut Ozil to equalise two minutes after half-time.
But Wilfried Zaha restored the visitors’ lead when he beat Bernd Leno one-on-one after a Benteke flick-on.
James McArthur extended Palace’s lead on 69 minutes before Pierre-Emerick Aubameyang gave Arsenal hope with a mazy run and strike late on.
But the Eagles held on to move up to 12th place with 42 points.
Arsenal remain fourth, a point behind Tottenham Hotspur, and level on 66 points with Chelsea, who could themselves go third with a win against Burnley on Monday.
Arsenal: 24 Apr v Wolves (A)
Crystal Palace: 27 Apr v Everton (H)