Match ends, Southampton 1, Manchester City 3.
Manchester City survived a brief scare to beat Southampton and reduce league leaders Liverpool's advantage to seven points.
Southampton responded to David Silva's early opener when Pierre-Emile Hojbjerg took the ball off Oleksandr Zinchenko and fired it into the top corner.
City had luck on their side when Raheem Sterling's shot deflected off James Ward-Prowse to make it 2-1.
Sergio Aguero's back-post header completed the scoring before half-time.
Southampton goalscorer Hojbjerg - who had only just returned from suspension - was shown a straight red card for a lunging tackle on Fernandinho with just over five minutes to go.
City had a number of decent chances as Silva, Aguero and Riyad Mahrez all went close in the first half and Aguero smacked the crossbar after the break.
Southampton threatened too and Charlie Austin was twice denied by City keeper Ederson in the first half before Hojbjerg's equaliser.
But the Saints were ultimately undone by Pep Guardiola's free-flowing side, who move up to second place in the table.
- Liverpool could be best team in the world at present - Guardiola
- How has 2018 been for each Premier League team?
- Quiz: Name top goalscorers of 2018 in the Premier League
City respond to Liverpool's challenge
Liverpool went 10 points clear of City at the top of the table with a devastating 5-1 thrashing of Arsenal on Saturday, meaning the defending champions needed victory to keep pace in the title race.
City appeared to feel the pressure on Boxing Day when they squandered an early lead and allowed Leicester to win 2-1 at the King Power Stadium.
But they stood up to the challenge at St Mary's - peppering Southampton's goal from the off and responding to the equaliser with two quick goals on the stroke of half-time.
City's opening goal was straight from Guardiola's textbook: Bernardo Silva's neat build-up down the right and cut-back into the centre was comfortably put away by an unmarked David Silva.
Sterling's shot was then deflected by Ward-Prowse and flapped into the net by Alex McCarthy to make it 2-1 before Aguero headed in Zinchenko's cross at the back post with ease.
It means City can cut Liverpool's lead to four points when the two teams meet at the Etihad Stadium on 3 January.
Improvement for Saints
The last time Southampton played City in early November they were hammered 6-1 and failed to respond to three early goals.
But this time Southampton posed a threat and came close to breaking down a slightly nervy City defence on occasions.
Austin's header at the near post was well saved by Ederson in the first half and that came moments after the keeper had avoided Hojbjerg's sliding tackle on the goal-line.
And Saints' pressing paid off when Hojbjerg robbed Zinchenko of the ball in the build-up to his equaliser.
City could not extend their lead in the second half but Southampton's good work was only undone by the late sending-off of Hojbjerg.
A trip to Stamford Bridge is a difficult start to the new year but the Saints will likely avoid the drop if they can produce performances like this in the second half of the season.
'The worst thing happened' - what they said
Southampton manager Ralph Hasenhuttl: "The first 15-20 minutes we were not very good but we smelt a bit of sensation when we equalised. We saw that Man City is not that confident in the moment like they are when they win week after week. We tried to push ourselves back into the game and press a little bit earlier but we saw when they have time to turn they are dangerous.
"At half time we thought about preparing the guys for a good second half but in the mind was also the next game against Chelsea. And then the worst thing happened in the red card for Pierre-Emile Hojbjerg which is disappointing because he is one of the most important players in our team.
"In a game which is 3-1 and with only five minutes to go, you have to ask the use of such a tackle. He knows it was the wrong decision but it doesn't help us in the moment."
Manchester City manager Pep Guardiola: "It was important to win after two defeats and the players did what they had to do. If one team achieves 100 points and then the year after make 45 in the first round it is not all bad.
"Before 1-1 we played to score more, then they scored and the game was more equal but we carried on and scored the second goal. In previous games we did everything, and the first time the opponent arrived in our half they scored."
Aguero reaches 50 under Pep - the best of the stats
- Manchester City have won five consecutive Premier League games against Southampton for the first time.
- Southampton have lost back-to-back Premier League home matches for the first time since September 2017, under Mauricio Pellegrino.
- City have failed to keep a clean sheet in each of their last 10 competitive matches - their longest streak since a run of 10 ending in February 2015.
- David Silva has scored against Southampton both home and away in this Premier League season - the sixth time he's achieved this feat against a single side in the competition.
- Bernardo Silva has been directly involved in 10 goals in 19 Premier League games this season (5 goals, 5 assists), equalling his total in 2017-18 in 35 games (6 goals, 4 assists).
- Southampton's starting XI had an average age of 24 years and 274 days; their youngest in a Premier League match for five years (Dec 2013 against Newcastle).
- Aguero has scored 50 Premier League goals under Pep Guardiola, 16 more than any other player has for the club under the Spaniard.
- Hojbjerg is the first Danish player to both score and be sent off in a single Premier League game, while he's the third Saints player to do this after Sadio Mane (v Liverpool in Oct 2015) and Peter Crouch (v Crystal Palace in May 2005).
Southampton travel to Stamford Bridge to take on Chelsea on Wednesday, 2 January (19:45 GMT), while Manchester City host league leaders Liverpool at the Etihad on Thursday, 3 January (20:00 GMT).
- 35BednarekBooked at 73mins
- 23HøjbjergBooked at 85mins
- 14RomeuSubstituted forValeryat 59'minutes
- 18LeminaSubstituted forRedmondat 45'minutes
- 10AustinBooked at 58minsSubstituted forLongat 68'minutes
- 17S Armstrong
- 3DaniloBooked at 78mins
- 4KompanyBooked at 72mins
- 20Bernardo Silva
- 25FernandinhoSubstituted forWalkerat 86'minutes
- 26MahrezSubstituted forSanéat 84'minutes
- 10AgüeroBooked at 32minsSubstituted forGabriel Jesusat 73'minutes
- 33Gabriel Jesus
- Paul Tierney
- Shots on Target
Second Half ends, Southampton 1, Manchester City 3.
Attempt missed. Shane Long (Southampton) header from the centre of the box is high and wide to the right. Assisted by James Ward-Prowse with a cross following a set piece situation.
Foul by Aymeric Laporte (Manchester City).
Shane Long (Southampton) wins a free kick on the right wing.
Substitution, Manchester City. Kyle Walker replaces Fernandinho.
Pierre-Emile Højbjerg (Southampton) is shown the red card.
Fernandinho (Manchester City) wins a free kick on the right wing.
Foul by Pierre-Emile Højbjerg (Southampton).
Substitution, Manchester City. Leroy Sané replaces Riyad Mahrez.
Danilo (Manchester City) wins a free kick in the defensive half.
Foul by Jan Bednarek (Southampton).
Attempt saved. Pierre-Emile Højbjerg (Southampton) right footed shot from outside the box is saved in the top right corner.
Corner, Southampton. Conceded by Oleksandr Zinchenko.
Foul by Gabriel Jesus (Manchester City).
Mohamed Elyounoussi (Southampton) wins a free kick in the defensive half.
Attempt saved. Riyad Mahrez (Manchester City) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Gabriel Jesus.
Danilo (Manchester City) is shown the yellow card for a bad foul.
Foul by Danilo (Manchester City).
Nathan Redmond (Southampton) wins a free kick in the attacking half.