Arsenal scored twice in injury time to stun Crystal Palace as Gabriel Martinelli forced home a cross from fellow substitute Martin Odegaard's on 91 minutes - before Nicolas Pepe calmly rolled in Arsenal's third four minutes later.
Christian Benteke's diving header from Andros Townsend's free-kick equalised for the home side after Pepe had volleyed in to finish off an excellent Gunners move involving Bukayo Saka and Kieran Tierney.
Read on for Freddie Cardy's player ratings as Mikel Arteta's side head into the final match of the season with slim hopes of qualifying for Europe.
Bernd Leno 7.5/10
Called up to the Germany Euro 2020 squad earlier today and made an important save from Schlupp’s deflected shot. Nice goalie shirt too.
Callum Chambers 7/10
Started off in a lively fashion but switched to dealing with the threat of Wilfred Zaha, which he succeeded at, most notably when making an excellent recovery slide tackle against the Ivorian in the penalty area.
Rob Holding 7/10
Calm and composed once again, good in the air against a difficult Palace attack.
Gabriel Magalhães 6.5/10
A very impressive debut season from the Brazilian, who looked good again tonight, but could he have done more to stop Benteke’s goal?
Kieran Tierney 7.5/10
Energetic going forward and his cross for Pepe’s goal was perfectly weighted. Enjoyed a few skirmishes with Joel Ward and some verbals from the Palace faithful.
Thomas Partey 6.5/10
Made a crucial challenge against Jeff Schlupp in the first half and moved the ball around nicely, but struggled more and more as the game went on, eventually substituted.
Mohamed Elneny 6/10
You feel his position will be challenged by Joe Willock next season after the few months that the Newcastle loanee’s had. Sloppy in possession and an all-round poor display.
Bukayo Saka 7.5/10
Linked up beautifully with Kieran Tierney for Pepe’s goal. Arsenal’s left-hand side is in good hands.
Emile Smith-Rowe 7/10
Would get into most 5-a-side teams with his quick footwork and skill. Operated in the pocket between the defence and midfield but drifted wide too when space opened up.
Nicolas Pepe 8/10
Two more goals for the Ivorian who’s loving life in an Arsenal shirt as the season comes to an end, both of them really well taken.
Pierre-Emerick Aubameyang 5.5/10
Didn’t really happen for him at all upfront this evening, missing a big chance in the 83rd minute.
Martin Odegaard (Sub, 64‘) 7/10
Occupied the number 10 role after replacing Bukayo Saka, and provided the perfect ball in for fellow substitute Martinelli’s winner.
Gabriel Martinelli (Sub, 77’) 8/10
Nice to see Martinelli coming on instead of Willian for a change, and the change paid off with the Brazilian coming to Arsenal’s rescue in added time!
Granit Xhaka (Sub, 77’) 6/10
Clearly a defensive change with the Switzerland captain coming on for Kieran Tierney, maybe fitness was a consideration too.
Subs not used: Ryan, Cedric, Mari, Ceballos, Willian, Lacazette.