The Gunners impressed from the outset, with the pressure finally telling just before half-time. Fine link up play between Bukayo Saka and Kieran Tierney saw the Scot put in a perfectly weighted cross, which was subsequently stabbed into the net by Nicolas Pepe.
Palace could have easily been down to 10 men by this stage, with Christian Benteke somehow avoiding a red card despite appearing to elbow Mohamed Elneny in the face. Much to Arsenal's annoyance, it was the Belgian striker who headed home the equalising goal for the Eagles early in the second half as he was left unmarked from a free kick.
Arsenal dug deep however, with late substitutes Martin Odegaard and Gabriel Martinelli combining well for the second goal with a minute left. Pepe then grabbed his second of the match in the final seconds to ensure that Mikel Arteta's men are just a point behind rivals Tottenham in seventh place.
Arsenal were assured in the first half, ending it with 70% possession despite playing away from home. They were incisive when they needed to be, as was evident from the beautiful move that led to Pepe's goal.
The good work on the ball was set up by a solid back four, which did very well to keep the likes of Benteke and Wilfried Zaha fairly quiet. The Gunners also managed to keep their heads in the face of hostility, with some of the Palace players being a bit over-zealous when making tackles. While the performance levels tailed off slightly in the second period, the early stages should at least please Arteta. In addition, there are encouraging signs from Odegaard, whose fine assist turned the game for Arsenal at the end.
While Palace were thoroughly outplayed during the first half, they did have the better of Arsenal when the ball was in the air. On set pieces, Palace dominated at both ends of the pitch, with goalkeeper Bernd Leno forced into a handful of fine saves after powerful headers from the likes of Gary Cahill.
The lack of aerial presence eventually cost Arsenal, as Benteke shrugged off Elneny and Gabriel to head home Palace's equaliser from a well worked free kick. It didn't get any better for Arteta's side from there, as they struggled to create any chances of note until the substitutes worked an opening with minutes remaining.
Manager rating out of 10
8 -- Arteta's tactics looked to be spot on after a dominant first half. The midfield pivot of Elneny and Thomas Partey functioned excellently, with the pair helping to turn over possession on numerous occasions. Saka and Pepe were also excellent on the wings, as the pair combined beautifully for Arsenal's opening goal. In the second half, however, Arteta opted to bring on Martin Odegaard, Granit Xhaka and Gabriel Martinelli. This turned out to be a masterstroke, as Odegaard and Martinelli combined to score Arsenal's second late goal.
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
GK Bernd Leno, 7 -- The German did make a handful of solid stops to keep Arsenal in the game. His handling in particular was excellent.
DF Callum Chambers, 5 -- Looked slightly off the pace, getting passed by livewire Zaha on one too many occasions. His crossing was also sub-par when going forward.
DF Rob Holding, 7 -- Kept his head when all those around him were losing theirs. Arsenal would have surely lost the game had it not been for the English defender.
DF Gabriel, 5 -- Started the game fairly well but, as it progressed, Benteke started to find more joy up against the Brazilian. This culminated in the Palace forward struggling his marker off to head home the equalising goal.
DF Kieran Tierney, 8 -- Impressed when venturing forward, managing to skip past his marker to whip in gorgeously weighted crosses on several occasions. His cross for Pepe's opener, after fine link-up play with Saka was especially brilliant.
MF Mohamed Elneny, 6 -- The Egyptian put the Palace backline under pressure with a series of accurate through balls to the pacey Arsenal forwards. Sadly, his defensive shortcomings let him down, as he let Benteke go to score.
MF Thomas Partey, 7 -- Effectively broke up play in the middle of the park, helping spring a number of counter attacks in the process. His influence on the game shrank in the second period, however.
MF Emile Smith Rowe, 7 -- Despite being one of the youngest players on the pitch, the academy graduate was assertive, with a number of good driving runs forward. Drifted wide at times to deliver a number of teasing crosses into the box.
FW Bukayo Saka, 7 -- Made a number of excellent runs off the ball, with one of those starting the move that ultimately led to Arsenal's first half goal. His backheel to tee up Tierney's assist was a delightful piece of innovation.
FW Pierre-Emerick Aubameyang, 7 -- While the 31-year-old's finishing was slightly wayward, his overall contribution to Arsenal's win shouldn't be overlooked. He often dropped deeper to effectively link play with the midfield.
FW Nicolas Pepe, 9 -- Scorer of the opening goal, which chiefly came about due to his excellent movement in the box. The Ivorian then sealed all three points for the Gunners with a mazy run, followed by a composed finish in the bottom corner.
MF Martin Odegaard, 7 -- Replaced Saka on the hour mark. Grabbed a vital late assist, whipping in a sublime cross from which Martinelli netted Arsenal's winning goal.
MF Granit Xhaka, N/A -- Came on for the final 10 minutes of the game. Steadied the ship in midfield.
FW Gabriel Martinelli, N/A -- Scorer of Arsenal's late winner, remaining composed to finish at the second time of asking. Super sub to the rescue.