Manchester City survived a brief scare to beat Southampton and shorten the gap on league leaders Liverpool 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.
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.