Aaron Ramsey added a second four minutes later to make the points safe, despite Ben Davies firing a late consolation to set up a dramatic finale.
With Southampton the only other team in the top six to win on Saturday, Arsene Wenger's men now sit two points clear of Spurs at the top of the league thanks to a fifth consecutive win in the league.
In a muted first half, both sides were allowed to bring the ball forward, but neither were incisive enough to create any clear chances.
That only changed in the last minute before the break, when Gnabry burst from the centre of the midfield and set up Olivier Giroud to take a touch into the box, only to shoot wide.
Jack Wilshere was rarely seen, though he was lucky to escape a yellow for a number of petulant challenges.
The second half opened just as quietly - the first incident of note was the goal on the 58th minute. After Giroud and Wilshere combined to find Ramsey, the Welsh midfielder’s reverse pass found Gnabry, who blasted the ball across Michel Vorm.
Less than five minutes later, Arsenal doubled their lead. Wilshere won a 50-50 challenge with Jonathan De Guzman just past the halfway line, the ball was worked to Ramsey, cutting inside to blast the ball into the goal.
From there, Arsenal were rarely troubled despite giving Swansea plenty of possession.
Then, in the 82nd minute, Ben Davies gave Swansea hope by scoring from an excellently weighted pass clipped over the defence from Wilfried Bony.
Though Swansea pressed in the remaining moments of the game, Arsenal were able to hang on for a deserved win to go back to the top of the table after Tottenham had briefly usurped them thanks to their draw in the lunchtime kick-off match against Chelsea.
45+3' - A rare first half chance - Gnabry lays the ball off for Olivier Giroud to fire his shot wide from the left of the penalty area.
58' - Gnabry scores! - Giroud, Wilshere and Ramsey combine, the Welshman finding Gnabry, running into the penalty box, who fizzes his shot past Vorm for Arsenal to take the lead.
62' - Arsenal double their lead! - Wilshere with a strong tackle on the halfway line, the ball is fed forward to Ramsey, who cuts inside to blast the ball into the roof of the net.
82' - Irwin and Cantona revisited - Ben Davies plays a one-two with Wifried Bony, using his thigh to place the returned pass past Wojciech Szczesny
15 - With 15 points Arsenal are top of the league, having dropped only 3 points this season.
6 - Arsenal's goal difference is only bettered by Manchester City.
12 - Arsenal now have a club record 12 consecutive away wins.
TALKING POINT: While Manchester City, United and Chelsea will all help to improve, Arsenal are certainly giving credence to some of their fans' hopes for a real title challenge this season.
MAN OF THE MATCH
Mathieu Flamini: Cynical when he had to be, playing constructively when he had the ball, Flamini allowed the players ahead of him the freedom to eventually breakdown Swansea's defence.
Swansea City: Vorm 6, Tiendalli 6, Amat 6, Flores 6, Davies 7, Canas 6, Shelvey 6, De Guzman 6, Dyer 6, Routledge 6, Michu 6. Subs: Bony 6, Pozuelo 6.
Arsenal: Szczesny 6, Sagna 6, Koscielny 6, Mertesacker 6, Gibbs 6, Wilshere 6, Ramsey 7, Flamini 7, Ozil 6, Gnabry 7, Giroud 6. Subs: Monreal 6, Jenkinson 6, Arteta 6.
MATCH IN A TWEET