Advantage Manchester United in the title race. Luke Moore's 83rd-minute header removed their cross-city rivals from the summit of the Premier League for the first time since 15 October and nudged Swansea closer to ensuring top-flight safety.
Roberto Mancini's side were well below par and the margin of defeat could have been greater had Scott Sinclair's early penalty not been saved in terrific fashion by Joe Hart.
City almost salvaged a late leveller in a game of few chances courtesy of Micah Richards' header, but assistant referee Sian Massey correctly disallowed the effort in the dying seconds for offside. Even so, a point would have been undeserved, such was the maturity and composure of Swansea, whose manager Brendan Rodgers praised the display as the peak of their time in the Premier League.
Rodgers said: "It was the best performance and result of the season. City are a top team but we were very composed. I'm very proud of the players. But we want to pick up as many points as possible."
"I really want to sprint over the finish line. We're loving every moment of this journey that we're on. We were well-documented as the team everyone fancied to go down. But the idea is to finish as strongly as we can and that's why I've never set a target, because when you hit that target then people can become loose. We want to maximise our potential and that means pushing until the very end."
City, who arrived in South Wales fresh from a Europa League defeat in Lisbon on Thursday, had been warned of the difficulty of the task awaiting them at the Liberty Stadium after Swansea produced excellent results here against Arsenal, Chelsea and Tottenham. But the notice served had not been taken in by the visitors, who could have fallen behind in the seventh minute.
Gylfi Sigurdsson's intended pass for Danny Graham was seized upon by Wayne Routledge, in for the suspended Nathan Dyer, and the winger was set to strike for goal when Hart upended him inside the penalty area.
Immediately, Hart, who could easily have been dismissed by referee Lee Mason for the infringement, atoned for his error to deny Sinclair – his first penalty miss in 14 attempts – to the joyous delight of the travelling support behind his goal. But City had not began the game with the same free-flowing verve which had taken them to the top of the table. It took them 23 minutes to register a shot and Mancini was forced to introduce Sergio Aguero before half time for Gareth Barry, much to the displeasure of the England midfielder.
Mancini said: "Gareth has had a problem for three weeks, they had a lot of possession and we needed another striker. He was not happy, but I decide. I'm the manager [and] he must accept [it]."
The change failed to turn round City's fortunes as they huffed and puffed after the interval. The visitors had a penalty appeal waved away by referee Mason after Mario Balotelli went down under a challenge by Joe Allen but he did not appear to be touched by the Wales midfielder and, in any case, fell outside the box.
But, with virtually his first touch of the game after replacing Graham, Moore claimed victory when he headed in his second league goal of the season at the far post.
City responded well but, after having a snapshot well saved by Swansea keeper Michel Vorm, Richards had an effort disallowed by assistant referee Massey for offside.
Swansea kept out the late bombardment to claim not only a famous scalp, but almost certainly their Premier League status too as substitute Moore became an instant favourite in the red half of Manchester.
Mancini said: "It has been a difficult last four days. Sometimes you can lose but I don't think we deserved to lose. Swansea played very well for the first 30 minutes with the ball. In the second half we controlled the game, missed four chances to score. That was the problem, then we conceded a stupid goal.
"We were not tired. We have played for seven months with three games in one week, so I changed players," he added.
City face Chelsea next in the league with the stage set for the return of Carlos Tevez. Mancini said: "Carlos needs to train. Maybe he needs another 10 days."
Swansea: VORM 6/10; RANGEL 7; CAULKER 7; WILLIAMS 7; TAYLOR 7; BRITTON 6; ALLEN 8; ROUTLEDGE 6; SIGURDSSON 6; SINCLAIR 6; GRAHAM 6
Man City: HART 7; CLICHY 6; SAVIC 5 K TOURE 6; RICHARDS 6; BARRY 5; DE JONG; SILVA 6; Y TOURE 5; NASRI 5; BALOTELLI 4
Substitutes: Swansea Moore (Graham, 79), Monk (Routledge, 87). Man City Aguero 5 (Barry, 37), Johnson (De Jong, 84), Dzeko ( Silva, 87). Booked: Swansea none. Man City De Jong, Balotelli. Man of the match Allen. Match rating 7/10. Possession: Swansea 50% Man City 50%. Attempts on target: Swansea 5 Man City 13. Referee L Mason (Lancashire). Attendance 20,510Reuse content