Oliver Glasner’s side came from behind twice at the Emirates thanks to goals from Eberechi Eze and Jean-Philppe Mateta to cancel out Gunners goals from Jakub Kiwior and Leandro Trossard.
This result means that Liverpool now need just a point on Sunday against Tottenham Hotspur to be crowned Premier League champions.
Mikel Arteta’s side got off to the perfect start at the Emirates, with Jakub Kiwior meeting Martin Ødegaard’s free kick with a fantastic header to put the Gunners 1-0 up inside the opening three minutes.
Crystal Palace responded well though, getting on the ball and forcing Arsenal back and after 28 minutes they had their equaliser. Adam Wharton fired a corner out to the edge of the box which Eberechi Eze met brilliantly on the volley, smashing his effort in off the post to put Palace on level terms.
Oliver Glasner’s side then went close to taking the lead just a couple of minutes later, with Eddie Nketiah receiving the ball in the box before firing an effort on goal which was blocked brilliantly by Kiwior.
Leandro Trossard restored Arsenal’s lead just three minutes from the break, displaying some neat footwork to give himself a yard of space before firing a low effort past Dean Henderson.
Arsenal continued to push in search of a third goal and almost had one when Bukayo Saka struck a fine volley on target but for a superb save from Henderson to deny him.
Jean-Phillipe Mateta silenced the Emirates with 83 minutes on the clock when he capitalised on a loose pass from William Saliba at the back before clipping a delightful effort from distance over Raya and onto the underside of the crossbar and in.
It was a performance and result for Crystal Palace that will give them confidence going into their FA Cup semi-final on the weekend. For Arsenal, results like this one tonight sum up why they’ve fallen short in their pursuit of the title this season.