Arsenal's hopes of closing on the Premier League top four were dented by stylish Swansea City in an enthralling match at the Liberty Stadium.
The Gunners took an early lead with a well-taken Robin van Persie goal, but the visitors were outplayed at times.
Scott Sinclair converted a penalty after Aaron Ramsey's foul before Nathan Dyer clipped the Swans in front.
Theo Walcott dinked over Michel Vorm to level but, less than a minute later, Danny Graham slotted home the winner.
The victory, Swansea's first over Arsenal since February 1982, elevates Brendan Rodgers' side into the top 10, but will leave counterpart Arsene Wenger musing on a third defeat in the Gunners' last four Premier League away matches.
Rodgers proud of 'incredible' Swansea
Wenger was reportedly unhappy at the state of the Liberty Stadium pitch, where rugby union side Ospreys also play their home games, but Swansea proved that a passing style could thrive on the surface as they deprived Arsenal of possession for long periods.
Initially, Wenger's players seemed to have put their manager's concerns at ease.
Walcott could have done better with an early chance, before Alex Song's neat lay-off gave Andrey Arshavin space in front of the Swansea rearguard.
Van Persie then took his cue to drift into space and, from Arshavin's precise pass, he advanced on goal and held off the attentions of Steven Caulker to fire past Vorm.
But Swansea wasted no time in forcing their way back to parity as wide men Nathan Dyer and Scott Sinclair attacked their respective full-backs - the youthful Ignasi Miquel and the out-of-position Johan Djourou.
DID YOU KNOW?
Only West Brom have lost as many Premier League matches from winning positions as Arsenal this season
Wojciech Szczesny had to be on his toes to get to a through ball ahead of Dyer before Ramsey conceded a spot-kick, hanging out a leg as the former Southampton player dragged the ball away from him in the box.
Arsenal appeared unfortunate to be penalised but Sinclair coolly dispatched the penalty into the bottom right-hand corner.
Ramsey, whose days playing for Cardiff ensured jeering throughout by the home fans, almost made immediate amends, but Caulker hacked clear after the Arsenal man had guided a loose ball round a sprawling Vorm.
Caulker's then header required a rushed clearance as it threatened to drift into the far corner before Dyer cut inside to warm Szczesny's palms.
Arsenal defending hard to explain - Wenger
Swansea's determination to stick to their manager's philosophy of passing football almost saw them come unstuck, Vorm coming to their rescue after Van Persie had time and space but lacked a finish.
With Leon Britton and Joe Allen to the fore, Swansea's neat passing was soon picking patterns around the Arsenal midfield after the break.
Allen showed he could also put his foot in as he robbed Ramsey and, with Miquel well out of position, played in Dyer who clipped the ball into the far corner to put his side ahead for the first time.
Wenger was prompted to call on club legend Thierry Henry from the bench, but it was Walcott showed the sort of composure that the Frenchman is famed for when he raced clear to level.
But, less than a minute later, substitute Gylfi Sigurdsson's pass down the outside of Laurent Koscielny took the French defender out of the game and Graham fired across Szczesny into the far corner as the goalkeeper dithered.
Graham then found himself in a similar position only to see his cross to Angel Rangel cut out. But, although Arsenal grew more threatening in attack late on, a header from Ramsey and a long-range effort from Tomas Rosicky, neither of which stretched Vorm, were as close as they came.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.