Van Persie's early goal was quickly cancelled out by Sinclair's penalty, and while Walcott temporarily drew level following Dyer's effort, Brendan Rodger's side secured victory.
Arsene Wenger’s side may have found an early opening through Robin van Persie, but Aaron Ramsey marked a miserable return to Wales by conceding a penalty early on as Swansea drew level through Scott Sinclair, before losing possession in the build up to Nathan Dyer’s second half effort.
While Theo Walcott’s sublime finish temporarily restored parity, an equally impressive Danny Graham strike secured the three points and dealt a significant blow to Arsenal’s Champions League qualification hopes.
For the home team, Graham, who grabbed a brace in last week’s FA Cup victory over Barnsley, maintained his place in the starting XI, with Scott Sinclair returning to the side to join Dyer on the flanks, while Michel Vorm was recalled in goal.
Arsene Wenger opted to keep Thierry Henry on the bench, despite the Frenchman’s goalscoring exploits on his Arsenal return against Leeds. Instead, Andrey Arshavin maintained his place, starting alongside Walcott and captain Van Persie in an attacking trio. In midfield, Yossi Benayoun joined Ramsey and Alex Song, with Mikel Arteta missing out due to a knee injury.
Despite Swansea’s much-praised defensive home record, Arsenal took the lead with ease after five minutes. Arshavin’s perfectly weighted through ball found Van Persie as he peeled off Steven Caulker, and the Dutchman delayed his initial touch to create space before rifling past Vorm.
If marauding forward runs from Sinclair and Kemy Agustien showed the home side’s intent to draw quickly level, then uncertain defending from Laurent Koscielny and Ignasi Miquel suggested there would be opportunity.
As Swansea penetrated the opposition box for the first time in the game, Ramsey was caught out by Dyer’s clever turn, with the Wales captain unluckily fouling the 24-year-old to concede the spot kick, before Sinclair duly dispatched his fourth penalty of the season to restore parity after 15 minutes.
Ramsey nearly made an immediate mends when he skilfully maneuvered his way through the Swans back line before rounding Vorm and crossing, but Angel Rangel was on hand to deflect the ball away from an open goalmouth and back into the stopper’s arms.
Brendan Rogers’ side continued to match the Gunners, but the clear openings were presenting themselves to the visitors. Benayoun’s cross-field pass found Van Persie in acres of space, but the striker’s first touch was a shade too heavy, allowing Vorm to find the angle and make a clever stop.
Undeterred, the home side bubbled away on the cusp of Arsenal’s final third, with Dyer proving problematic to the out-of-position Miquel, cutting inside past the Spaniard from the right, but he could only fire his effort straight at Wojciech Szczesny.
Arsenal out of Sinc | The Gunners' top four hopes took a blow away to Swansea
The away side emerged for the second period looking to begin much like it did the first. Walcott and Van Persie linked up well early on, but the wide man could not keep his effort on target when through on goal.
Miquel then whipped a tantalizing ball across the face of goal, but with neither Van Persie nor Walcott willing to gamble, the chance was gone. Arsenal maintained possession however, and the play worked its way to Arshavin on the edge of the box, but the Russian produced a miserable effort despite no immediate obstacle in front of him.
While Dyer and Joe Allen’s shots from distance early in the second half drifted wide of the post, the same duo would make no mistake with the Swans third chance. Ramsey was again at fault, as he lost out to Allen far too easily, who in turn found Dyer’s drifting run into the box. The winger’s initial touch may have been poor, but his second rifled the ball past Szczesny to give Swansea the lead.
Wenger reacted quickly, introducing Henry and Tomas Rosicky in place of Arshavin and Benayoun respectively, and the French boss got the response he needed, albeit from two different players. Johan Djourou timed his ball for Walcott perfectly, and the 22-year-old produced a finish to match as he beat the offside trap laid by Neil Taylor.
Yet if Arsenal’s reply had been quick, Swansea’s was supersonic. Gylfi Sigurdsson, introduced at halftime in place of Agustien, found the run of Graham in behind Koscielny, and the former Watford man exploited some questionable positioning from Szczesny to finish from a tight angle and restore the home side’s lead 20 minutes from time.
A late effort from Koscielny failed to threaten as the Welsh side held on for the win as Arsenal continues to stutter on the brink of the top four. The win marks another milestone on the newly-promoted side’s incredible journey, as nine years ago today Swansea was bottom of the Football League, while the Gunners were top of the pile.