Yaya Toure struck twice as he went past 50 goals in the Premier League and James Milner was also on target before Wilfried Bony, on as a late substitute, scored against the club he left for an initial ??25million fee in January.
Swansea’s defeat means their hopes of Europa League qualification are definitely over as Garry Monk’s men will finish eighth.
But they gave City an almighty scare after falling 2-0 behind inside 36 minutes, levelling through Gylfi Sigurdsson and Bafetimbi Gomis, before the deposed Premier League champions had their England goalkeeper Joe Hart to thank for some outstanding saves.
Toure reached a half-century of Premier League goals when his deflected 21st-minute drive surprised Lukasz Fabianski in the Swansea goal and Milner then added a second from a quicksilver counter-attack.
But Sigurdsson’s 20-yarder on the stroke of half-time gave Swansea hope and Gomis followed up his late winner as a substitute at Arsenal on Monday night by capitalising on Eliaquim Mangala’s mistake to fire home a 64th-minute equaliser.
But Toure drove home his second 10 minutes later and Bony finally settled matters off a post in stoppage time, although the Ivorian held his hands up as if to apologise to home supporters who had given him a warm ovation on his return to Swansea.
Swansea started where they had left off at Arsenal with Gomis, starting for the first time in over a month after hamstring trouble, looking sharp and Jefferson Montero and Nathan Dyer posing problems down the flanks.
Gomis tested Hart with a third-minute shot from 20 yards and then Montero slipped in Neil Taylor down the left for the Frenchman to scoop over a pass which was just behind him.
City had been slow to stir and they were grateful for Hart’s agility to deny Dyer after Mangala had dithered.
But the visitors took the lead when Toure’s shot deflected off Swansea skipper Ashley Williams and Fabianski, a hero on his return to the Emirates Stadium six days earlier, was unable to keep out a shot he possibly should have done.
City were a real threat whenever they ventured forward on the break and Frank Lampard was inches from converting Kolarov’s cross from one such raid.
But City doubled their lead when Jazz Richards could not hold up Sergio Aguero from another lightning break and the Argentina striker slipped in Milner, who cut inside Taylor and finished low beyond Fabianski.
It seemed a long way back for Swansea but they were handed a lifeline in the final moments of the first half when Montero made inroads down the left. The ball fell to Taylor who found Sigurdsson and the Icelandic international struck a wonderful curling 20-yard shot to equal his season-best of seven goals in a Premier League campaign.
What had been a hugely entertaining contest continued after the break as City pressed forward with Mangala heading straight at Fabianski, Aguero firing wide and Lampard then shooting tamely at Fabianski.
But Swansea gave notice that they were far from out of it as Jonjo Shelvey’s skidding 25-yard effort forced a fine save from Hart before he gathered a more straightforward attempt from Williams.
Fabianski kept Swansea in the game with saves from David Silva and substitute Jesus Navas before Gomis equalised with his fifth goal in as many games.
Mangala failed to cut out Richards’ pass from deep and the Frenchman was onto the dropping ball in a flash to send his right-footed shot past Hart.
But City were ahead 10 minutes later when Toure shrugged off the challenge of Jack Cork on his way to the edge of the penalty area and his shot had too much power for Fabianski.
It was a different story at the other end as Hart produced one of the saves of the season to prevent Federico Fernandez levelling again with a point-blank header and then thwarted Gomis, before Bony put the gloss on City’s victory.