Moore knocks City off top spot
Manchester City's Barclays Premier League title aspirations were dealt a major blow as Luke Moore's late header sealed a 1-0 win and saw Swansea once again upset one of the big guns at the Liberty Stadium.
Substitute Moore had only been on the field a matter of minutes when he rose at the far post to head Wayne Routledge's cross beyond Joe Hart.
It could have been worse for City had Scott Sinclair converted an early penalty, although Mario Balotelli and Sergio Aguero spurned good chances for the visitors and Micah Richards had a header ruled out in the dying moments.
Defeat sees Roberto Mancini's side, who have topped the table since October, fall behind rivals Manchester United after their win against West Brom.
And the visitors could have few complaints as they paid the price for an ineffectual display.
For Swansea the win moves them ever closer to survival, with a 14-point gap to the bottom three all but guaranteeing them another season in the Premier League.
Swansea had already beaten Arsenal at their Liberty Stadium home and drawn with Chelsea and Tottenham this season, and their confidence was clear to see during a bright opening.
Sinclair and Danny Graham linked well down the left, but Routledge could not control his volley.
Sinclair should have given Swansea a seventh-minute lead after referee Lee Mason adjudged that Routledge had been felled by the advancing Hart and awarded a penalty.
But the winger failed to find the net from the spot for the first time this season as Hart saved a tame effort low to his right.
City had spent the majority of the opening 20 minutes penned in their own half, aside from a brief breakout that saw Balotelli show nice footwork before Steven Caulker made a vital challenge as the Italian shaped to shoot.
Balotelli was cutting an increasingly frustrated figure and he let it show as he petulantly attempted a shot from near the touchline on halfway which flew well wide of the goal.
Mancini removed Gareth Barry, who looked a disgruntled figure as he left the field, after 37 minutes to bring on Aguero.
And the Argentinian's introduction heralded City's best spell of the half as Yaya Toure's volley was deflected over by Gylfi Sigurdsson's block, before his brother Kolo head off target and David Silva drilled a shot wide just before the break.
City continued to press at the start of the second half and Aguero failed to make the most of a good chance as he shot wide when Balotelli picked him out after cutting out Caulker's lazy pass.
It was Swansea's turn to go close moments later as Danny Graham's ball across the six-yeard box almost found Joe Allen's run, with Kolo Toure diverting the ball to safety.
City felt they should have had a penalty of their own on the hour-mark when Balotelli went to ground very easily with Allen in close attendance, but referee Mason waved away the appeals, much to frustration of the City players.
Michel Vorm then made a sharp save to deny Richards after Silva had tricked his way into the box.
Caulker flashed a header across the face of goal from a Sigurdsson corner, while Hart made easy work of a weak shot from Routledge as Swansea lifted the heavy pressure they had been under.
And Swansea then stunned the visitors as they snatched the lead with just seven minutes to go.
Yaya Toure was caught in possession by Sigurdsson and the Welsh side coolly worked Routledge in down the right to deliver a cross that Moore, just on as a substitute for Graham, headed beyond Hart's despairing dive.
Vorm made an acrobatic save to keep out a Kolo Toure effort with City in desperate need of a response.
Mancini's men thought they had salvaged a point when Richards headed in as Vorm came and failed to reach a cross, but the full-back was correctly ruled offside, before the Dutch goalkeeper kept out Edin Dzeko's looping header.
Sinclair almost added a second in added time as Swansea broke after Hart had gone up for a corner, but his strike from halfway came up short of the line as the keeper recovered.