Raheem Sterling scored a dramatic winner as Manchester City maintained their winning run with a last-gasp 2-1 defeat of Southampton.
The England forward -- who netted a late clincher at Huddersfield on Sunday -- curled home a superb injury-time strike for the Premier League leaders at the Etihad Stadium.
Saints had looked set to become the first team to deny City a victory since August when Oriol Romeu cancelled out Kevin De Bruyne's deflected free kick 15 minutes from time.
But Sterling, who is developing a habit of scoring late, had other ideas with his 13th goal of the campaign securing City's 12th successive league win and a club record 19th straight in all competitions.
Southampton had frustrated City by adopting a similar approach to Huddersfield -- defending deep, absorbing pressure and looking to launch the occasional counter-attack.
Saints were also a threat at set-pieces and City were guilty of inviting pressure by conceding too many of them. Wesley Hoedt went close to opening the scoring when his header from a corner was deflected onto the bar and Maya Yoshida later volleyed over following another set-piece.
Between those chances, City -- with Sergio Aguero and Gabriel Jesus up front but Leroy Sane out through illness -- had a few of their own. Saints had Forster to thank for keeping them out.
Forster palmed away a good effort from Fernandinho, who had earlier driven wide, and made a double save to deny Aguero and Jesus.
Fernandinho also drove wide, Nicolas Otamendi headed over and Ilkay Gunodgan drove into the side-netting after Forster kept out another Jesus shot.
Southampton deliberately slowed the game, taking time over every dead ball situation. Shane Long also proved a niggly presence. Twice the Saints forward clashed with Vincent Kompany, the first time taking an arm in the face from the home captain and the second being hauled down as he looked to attack. Kompany was booked for the latter.
City finally broke through two minutes into the second half as De Bruyne whipped in a free kick. Confusion reigned for a while over how the ball actually ended up in the net with Otamendi initially claiming he had diverted it in after stooping for a low header.
The Argentinian, however, did not make contact and the final touch at the near post came off Van Dijk. Given that De Bruyne's free kick was goalbound, this was regarded as a deflection and the Belgian credited with his fifth goal of the season.
City immediately looked for a second as Aguero played in Jesus but Forster denied the Brazilian with a fine save and then produced an even better stop to keep out a De Bruyne piledriver.
Those saves began to take on crucial importance as Saints grabbed a shock equaliser 15 minutes from time. Romeu smashed in a shot off the underside of the bar after Sofiane Boufal pulled the ball back from the byline.
It looked like being enough to deny City all three points until Sterling curled home to spark jubilant celebrations.
There were unusual scenes after the final whistle with City manager Pep Guardiola shouting at Southampton's Nathan Redmond.