Manchester City tog ledningen redan efter en kvart då Fernandinho tar vara på en retur och bombade in bollen i mål mellan flera försvarare.
På tilläggstid av den första halvleken kvitterade Swansea genom en skarvnick signerad Wilfried Bonys. Frågan efteråt var dock om målet borde varit avvinkat för offside, något som reprisbilderna indikerade.
Manchester City fick dock sin revansch i den andra halvleken då Yaya Toure smällde in 2-1. Även denna gång kom målet efter en retur i Swanseas straffområde.
Endast åtta minuter senare kom nästa mål för Manchester City. Aleksandar Kolarov drev upp bollen från mittplan och tryckte in 3-1 när han väl kommit fram till straffområdet.
På tilläggstid satte Bony sitt andra mål för matchen, sitt sjätte för säsongen, med ett vasst distansskott som borrade sig ner i det bortre hörnet. Målet räckte dock inte till poäng och City vann med 3-2.
Laguppställningar:
Swansea: Tremmel - Rangel, Chico, Williams, Davies - Canas, Shelvey, de Guzman - Hernandez, Wilfried, Routhledge
Manchester City: Hart - Zabaleta, Kompany, Nastasic - Navas, Fernandinho, Toure, Nasri - Negredo, Dzeko