Kyle Walker was Manchester City's unlikely goal hero as they came from behind to deny Southampton the surprise result of the season.
Saints, beaten 9-0 by Leicester in their previous Premier League game, stunned The Etihad when James Ward-Prowse captialised on a blunder by Ederson after 13 minutes.
It took City 70 minutes to register their first shot on target – which resulted in an equaliser by Sergio Aguero. And with four minutes left Saints' keeper Alex McCarthy parried an Angelino cross to Kyle Walker who swept in for only his third City goal in 103 appearances.
James Ward-Prowse reacted quickly to turn the ball into the net before Ederson could clear to give Southampton the lead
Sergio Aguero grabbed the ball in celebration after drawing the hosts level with just 20 minutes remaining in the game
Kyle Walker was the unlikely goal hero as he turned in the box to smash the ball in late on to complete the turnaround for City
Walker led the wild celebrations after scoring the winner as Pierre-Emile Hojbjerg pulled his shorts up in frustration
City boss Pep Guardiola showed what Walker's winner meant to him as he ran close to the pitch to celebrate
Man City (4-3-3): Ederson 5.5; Walker 7, Stones 7, Fernandinho 6, Angelino 7; De Bruyne 7, Gundogan 6.5, D Silva 5.5 (Jesus 45 5.5); B Silva 6 (Foden 84), Aguero 6 (Otamendi 90), Sterling 5.5
Subs not used: Bravo (Gk), Mendy, Cancelo, Mahrez
Goals: Aguero 70, Walker 86
Booked: Sterling, Ederson, Gundogan
Southampton (5-3-2): McCarthy 6; Valery 8 (Danso 75), Bednarek 6.5 (Adams 88), Stephens 7, Vestergaard 7, Hojbjerg 7; Ward-Prowse 6.5, Romeu 7.5, Armstrong7.5; Ings 6 (Djenepo 84), Redmond 7
Subs not used: Gunn (Gk), Yoshida, Long, Boufal
Referee: Lee Mason 5.5
The gripping contest meant City kept pace with Liverpool, who remain six points ahead at the top of the table after leaving it late to win at Aston Villa.
Pep Guardiola named a strong side featuring all his big-hitters despite though there was a first Premier League start for 22-year-old left-back Angelino.
Saints boss Ralph Hasenhuttl resisted the temptation for mass changes after Leicester – just the three – and was rewarded with a heroic if ultimately unsuccessful mission.
City would have had a more comfortable afternoon had Aguero not flashed a header wide in the opening minute with a header that flashed wide.
But Saints and their five-man defence made them suffer by taking the lead.
Nathan Redmond cut the ball back for Stuart Armstrong whose shot was fumbled by Ederson, into the path of Ward-Prowse to prod in the rebound.
City reacted by pinning Southampton back but were met by a heroic wall