Second-half goals from Nacho Monreal and substitute Gervinho were enough to sink the Swans and leave the Gunners just two points behind fourth-place Chelsea, although the Blues have a game in hand.
Arsene Wenger left Wojciech Szczesny and Thomas Vermaelen on the bench after they were omitted from the impressive win over Bayern Munich in midweek and Arsenal started brightly.
Alex Oxlade-Chamberlain had the first chance of the game as he forced his way past Angel Rangel on the left before beating Michel Vorm with the shot only to see the ball clip the crossbar.
Swansea then enjoyed a good spell, starving the visitors of the ball and going close to taking the lead on two occasions in quick succession through the Spanish duo of Rangel and Michu.
Ki Sung-Yueng threaded a neat ball through to the advancing Rangel only for the full-back to skew his shot wide and then Michu seized on a Jonathan de Guzman pass but dragged his effort past the post.
That seemed to jolt the Gunners to life and they dominated the remainder of the first half with Oxlade-Chamberlain striking the top of the crossbar for a second time with a long-range drive.
Despite those contributions, it was a quiet start to the second half and the young England international was substituted with 20 minutes remaining as Wenger made a double change.
Gervinho was one of those players introduced and he added some energy to the Arsenal play with the winning goal arriving soon after courtesy of Monreal.
Santi Cazorla drove into the box and squared the ball to Olivier Giroud who forced the ball back to Monreal, despite pressure from Ashley Williams, and the Spaniard scuffed his shot past Vorm.
Swansea introduced in-form striker Luke Moore in search of an equaliser but could create little and were punished in stoppage time when Arsenal added a second to seal it.
With the Swans pushing for a goal, Aaron Ramsey found himself with a two-on-one situation and had the awareness to square the ball to fellow substitute Gervinho and the Ivory Coast international calmly slotted past Vorm.