Crystal Palace 1 Arsenal 2

First-half goals from Santi Cazorla and Olivier Giroud propelled Arsenal up to third place as they held off a late Eagles fightback at Selhurst Park.

Cazorla gave the Gunners an early lead from the penalty spot before the in-form Giroud made it 2-0 in first-half injury time – and it looked as if they would see out a routine victory.

However, Palace substitute Glenn Murray reduced the deficit late on – and almost earned his side an unlikely point deep into added time with a header that struck the post.

Arsenal went ahead in the seventh minute when Danny Welbeck chased down a loose ball on the edge of the Palace penalty area and left-back Pape Souare, under pressure, tripped him right on the line.

Referee Mark Clattenburg had no hesitation in pointing to the spot and Cazorla stepped up to send Julian Speroni the wrong way for his third goal in six games.

There were few further scoring opportunities during a scrappy first half, with the home side showing flickers of life through Wilfried Zaha and Dwight Gayle on the flanks, only to find the final ball lacking.

Gayle thumped a free-kick over the bar after he had been felled by Calum Chambers, but it was the Gunners who looked more likely to add to their advantage before half-time.

Laurent Koscielny misdirected his header after Giroud had flicked on a Cazorla corner, while Alexis Sanchez’s effort looped up off Scott Dann into the hands of Speroni.

But Arsenal did double their lead in added time when Sanchez released Welbeck on the left and, although Speroni parried his shot, Giroud stole in ahead of Damien Delaney to prod home the loose ball.

Palace returned to the field with purpose and applied some pressure to the Arsenal defence, with Jason Puncheon’s effort deflected wide after a poor clearance from Per Mertesacker.

But Arsenal successfully put bodies behind the ball and Zaha had a close-range attempt charged down before setting up a chance for Jordon Mutch, who blazed over on the volley.

And the visitors might have put the contest beyond doubt on the counter-attack as Mesut Ozil skipped away from Joel Ward and set up Sanchez, whose flick across Speroni fizzed wide of the post.

The Eagles never gave up and Gayle got close to halving the arrears as he rose between the centre-backs to meet Souare’s cross with a header that flashed just over.

Substitute Yannick Bolasie kept Arsenal on their toes, racing from inside his own half before firing rather tamely at David Ospina, while Puncheon curled a free-kick fractionally wide.

The Gunners goalkeeper was belatedly forced to break sweat to smother Murray’s header on the line and again to beat away a ferocious drive from Bolasie soon afterwards.

Palace finally gained some reward for their endeavours in the 90th minute when Zaha’s shot was blocked and Murray pounced on the rebound – and the striker almost salvaged a draw with the final attack of the game as he beat Ospina to Bolasie’s cross, but his header hit the base of the post.

Crystal Palace: Speroni; Ward, Dann, Delaney, Souare; Ledley (Ameobi 80); Zaha, Puncheon, Mutch, Gayle (Murray 80); Campbell (Bolasie 57).

Arsenal: Ospina; Chambers, Mertesacker, Koscielny, Monreal; Coquelin; Welbeck (Gibbs 76), Cazorla, Ozil (Rosicky 76), Sanchez (Gabriel 89); Giroud.