Manchester City kept pace with Premier League leaders Liverpool after Kyle Walker struck late on to give them a 2-1 victory over Southampton on Saturday.
A goalkeeping blunder by Ederson allowed James Ward-Prowse to give Southampton a surprise 13th-minute lead at Etihad Stadium.
City initially struggled to break down a resolute Southampton defence before Sergio Aguero eventually equalised when he fired past goalkeeper Alex McCarthy.
However, Walker latched on to Angelino's cross to slide the ball home and secure a win that means the champions remain six points behind Liverpool.
City had eased to a 3-1 win over Southampton in the EFL Cup during the week and, with Raheem Sterling and Kevin De Bruyne back, were expected to brush their opponents aside again.
However, this victory was far from routine for Pep Guardiola's side.
It was the visitors who led at half-time having scored against the run of play after a rare mistake by City goalkeeper Ederson, who spilled Stuart Armstrong's low shot and allowed the quick-thinking Ward-Prowse to lift the ball over the Brazilian from close range.
City monopolised possession in the remainder of the half but despite some slick passing moves they found Southampton's defence difficult to break down.
Saints had conceded nine goals in their last Premier League game against Leicester City, but Guardiola's side did not register a shot on target until the 70th minute.
It was, though, a decisive one as Aguero on to Walker's low cross and turned the ball home through the legs of McCarthy.
Walker went from provider to match-winner with 86 minutes played, timing his run into the box perfectly to meet Angelino's cross and emphatically striking the ball high into the net past McCarthy.
What does it mean? City show character of champions
City were below their best for much of this encounter and lacked a cutting edge in attack. However, they dug out what may turn out to be a crucial victory.
A dramatic finish at Villa Park could have seen City fall further behind leaders Liverpool had Walker not popped up and secured the points.
It was the kind of gritty display of a team who are not going to give up the Premier League crown without a fight. They will relish a trip to Anfield next weekend.
Embarrassing moment for Ederson
Normally a reliable presence between the posts for City, Ederson had a rare off-day against Southampton. The Brazilian is used to long periods of inactivity but on this occasion a momentary lapse in concentration almost proved costly.
Solid Stephens steps up
Jack Stephens only played the second half of Southampton's 9-0 thrashing by Leicester but brought an assurance to their leaky backline. The centre-back anticipated danger, led by example on his second league start of the season and was unlucky to finish on the losing side.
Key Opta Facts
- Manchester City had to wait until the 70th minute for their first shot on target in this match, which resulted in Sergio Aguero scoring – the longest they have had to wait for their first shot on target in a league match since December 2016 vs Leicester City (82nd minute).
- Southampton are winless in their last 20 away Premier League games against the 'big six' teams (D4 L16), since a 2-1 win vs Tottenham in May 2016.
- Southampton have never kept a league clean sheet at Etihad Stadium (10 games), with their last away shutout against City coming in the last ever match at Maine Road in May 2003 (1-0).
- Aguero has been involved in 10 goals in his past 10 Premier League games against Southampton (six goals, four assists).
- Since the start of last season, only Danny Ings (11) has scored more Premier League goals for Southampton than James Ward-Prowse (9).
Manchester City travel to Atalanta in the Champions League on Wednesday before a crunch clash with Premier League leaders Liverpool a week on Sunday. Southampton host Everton at St Mary's Stadium next Saturday.