Manchester City have toppled from the peak of the Premier League. They now lie a point behind Manchester United after Wayne Routledge's cross from the right was headed home by the substitute Luke Moore in the 83rd minute. An apparent equaliser by Micah Richards in the closing moments was denied correctly at the end because he was offside by a fraction.
This match had always been a trial for the visitors. Their manager, Roberto Mancini, was sufficiently concerned to reconfigure his side at an early stage, with a visibly irritated Gareth Barry withdrawn so that Sergio Agüero could come on in the 38th minute and offer verve to a rejigged lineup. The sight of Yaya Touré shooting high just before the interval was an improvement.
City's difficulties were not so great a shock since Swansea City began the day sharing the best defensive record at home in the Premier League with Liverpool, even if that stringency has been fading a little. The real surprise came with City conceding a penalty in only the second minute.
Getting across: Joe Hart makes a save from Sinclair's spot kick
Making his mark: Hart celebrates the penalty save
There was contact between Routledge and Joe Hart, but the poor penalty from Scott Sinclair was dealt with comfortably. The midfielder may have been put off by gesturing and apparent comments from Hart. Apart from that incident, the endeavour led to little excitement, despite the fact that City have scored more away goals than any other team in England's top flight.
That record held by a side that had come to the Liberty Stadium as leaders of the Premier League does not necessarily imply that all of City's verve is intact. On Thursday they went down 1-0 in Lisbon to Sporting, making the return leg problematic in that Europa League tie. It was unsettling, too, that the centre-backs Joleon Lescott and Vincent Kompany were absent through injury here.
Swansea are far more capable of posing problems than they were when going down 4-0 to City at Eastlands on the opening weekend of the Premier League campaign. Any concerns of late have been of a lesser order for Brendan Rodgers's lineup, but he may have been unsettled by the fact that they had not kept a clean sheet on their own pitch since a defeat of Fulham on 10 December.
That was put to rights. Swansea also achieved a first win at home since overcoming Arsenal here in mid-January. Correcting that trend was no simple matter for Rodgers when Mancini seemingly had so much firepower, yet Swansea did thwart them by attacking when feasible and showing discipline when City were in possession.
Mancini's side looked frustrated and were indignant when no penalty was given after an hour, although Joe Allen's contact on Touré had occurred outside the 18-yard line. Later, Richards would demand a save from Michel Vorm, but City were to be stifled by their own predictability.
Swansea: Swansea: Vorm, Rangel, Williams, Caulker, Taylor, Allen, Britton, Sinclair, Sigurdsson, Routledge (Monk 87), Graham (Moore 79).
Subs Not Used: Tremmel, Tate, McEachran, Lita,Gower.
Goal: Moore 83.
Man City: Hart, Richards, Savic, Toure, Clichy, Barry (Aguero 37), De Jong (Johnson 84), Nasri, Toure Yaya, Silva (Dzeko 87), Balotelli.
Subs Not Used: Pantilimon, Milner, Pizarro, Kolarov.
Booked: De Jong, Balotelli.
Attendance: 20,510
Referee: Lee Mason