The Frenchman diverted Santi Cazorla’s free kick home before heading in a corner from the Spaniard, but Moussa Sissoko pulled one back in a second-half resurgence from the hosts.
Ayoze Perez and Yoan Gouffran both had opportunities to rescue a point, while David Ospina kept out Mike Williamson’s header, but Arsene Wenger’s side held on to record their sixth Premier League win in succession, maintaining any outside hopes for the title but strengthening their grip on a top-four spot.
It is a third-straight defeat, meanwhile, for John Carver’s men, whose terrible record against Arsenal continues as they lost a seventh game in succession against the Gunners.
Newcastle had the better of the early exchanges as Wenger’s men looked nervous in the opening stages, but the hosts couldn’t carve out any decent chances; Ayoze Perez’s blocked effort their best opening.
Aaron Ramsey had Arsenal’s first decent chance as he latched on to Giroud’s flicked ball through the defence, but the Welshman’s attempted flick around Tim Krul rolled harmlessly off target.
But Giroud soon opened the scoring as the visitors won a free kick towards the right-hand side in the 24th minute, and Santi Cazorla’s whipped ball in was headed on by Danny Welbeck before the striker met the ball with his knee to turn it past Krul and into the net.
Things quickly got worse for the hosts as Giroud bagged his second of the match within four minutes, Cazorla again the provider as this time he fired in a corner which the Frenchman headed across goal and into the bottom far corner.
The hosts came flying out of the blocks for the second half, and three minutes in they were right back in the game as Remy Cabella played a one-two with Perez before pulling back to Sissoko, who drilled the ball low into the net from 15 yards out.
Perez then nearly fired Newcastle level a minute later as he cut inside from the left before curling a wonderful effort which flew just wide of Ospina’s far post.
Arsenal were on the ropes and it looked like a matter of time before Newcastle found the equaliser but Gouffran spurned a glorious opportunity on the hour. The Magpies saw penalty appeals turned down as Perez’s cross hit Calum Chambers’ arm, but play went on and it fell for Gouffran, who could only fire straight at Ospina.
The goalkeeper was soon called into action again as the hosts won a corner, and Mike Williamson powered a header at goal which Ospina turned away with a magnificent reflex stop.
Moments later Daryl Janmaat drilled wide from distance, while Welbeck had a chance to alleviate the pressure at the other end, but he could only force a corner off Tim Krul from a tight angle.
As time ran out, Ospina again proved the hero as he turned away Perez’s low effort with another good save, and the visitors held on to take their sixth win in succession to put themselves right up there with the top two.
Matt Le Tissier’s verdict
It should have been a bit more comfortable for Arsenal. Going 2-0 up in less than half an hour, they were so much on top that you thought it could have been any kind of score. Newcastle were looking a little bit disorganised at that point but they didn’t kick on and it was still just the two at half time. They didn’t make Tim Krul make too many saves after that. Newcastle came back strongly after half time and got a goal just after half time – it was a cracking goal too.
At that point you thought ‘game on’ and Newcastle gave it a really good go, Ospina had to make a couple of good saves, one from Perez and then from a very close-range flick header from Sissoko. It should have been more comfortable than it was but Arsenal still ground out the three points and are in a very good position.
Newcastle: Krul (6), R Taylor (6), Janmaat (8), Williamson (7), Colback (7), Anita (7), Sissoko (8), Cabella (7), Gouffran (7), Ameobi (7), Perez (8).
Used subs: Gutierrez (7), Armstrong (6).
Arsenal: Ospina (9), Chambers (6), Gabriel (7), Koscielny (6), Monreal (6), Coquelin (6), Ramsey (6), Sanchez (6), Cazorla (7), Welbeck (6), Giroud (8).
Used subs: Bellerin (6), Flamini (5), Rosicky (5).
Man of the match: David Ospina