Arsenal’s hopes of a top-four finish were dented after Christian Benteke’s first goal in a year helped Crystal Palace to an excellent win which confirmed their Premier League place.
Benteke was left unmarked to head Luka Milivojevic’s delivery past Bernd Leno, only for Mesut Ozil to equalise with a clever finish shortly after half-time.
However, two goals in eight minutes ended Arsenal’s 10-match winning league run at Emirates Stadium.
Wilfried Zaha capitalised on a mistake by Shkodran Mustafi to restore Palace’s lead and James McArthur’s header made it 3-1 before Pierre-Emerick Aubameyang reduced the deficit with his 19th league goal of the season.