Two goals in the closing moments of the first half gave Manchester City a 3-1 win at Southampton and saw them move back into second place in the Premier League, seven points behind leaders Liverpool ahead of Thursday's meeting between the two sides.
A James Ward-Prowse own goal and Sergio Aguero's header gave City victory on the south coast after Pierre-Emile Hojbjerg had cancelled out David Silva's early strike.
City made a rapid start and were almost in front with five minutes played, Raheem Sterling getting the better of Jack Stephens and finding David Silva, who was denied by a superb Alex McCarthy save.
Soon afterwards, Southampton fashioned a great chance of their own, Charlie Austin failing to control as he attempted to round Ederson from Mohamed Elyounoussi's defence-splitting pass.
Austin and Southampton were made to pay as City broke through a minute later, Bernardo Silva getting too much room down the right and setting up David Silva to steer beyond McCarthy.
Pep Guardiola's side, with Fernandinho back after injury, were pinning Southampton back, the home side struggling at times to get out of their own half.
Riyad Mahrez almost added a brilliant second after City had broken from inside their own area but, after advancing towards Southampton box, his finish was curled narrowly wide.
The City chances continued to rack up, Danilo finding Aguero to create another before the striker was crowded out.
Aguero was denied by McCarthy after fine work from Sterling on the right, and Sterling was again in the thick of the action as he cut in from the other flank but was closed down.
City striker Aguero went into the book for a foul on Matt Targett as the Southampton defender came forward, and -- against the run of play -- the home side were nearly level when Ederson made an excellent save from Austin's header.
But after 36 minutes they equalised, Hojbjerg dispossessing Oleksandr Zinchenko midway inside the City half and advancing to the edge of the area before thundering a strike high past Ederson.
Southampton wanted a penalty when Ward-Prowse went to ground under a challenge from Zinchenko, but the appeals were waved away and, seconds from half-time, City regained their advantage when Sterling's cross cannoned in off the same Southampton player.
The visitors still had time for another before the break, taking control of the match when the heavily-involved Zinchenko's cross was headed home by Aguero.
Saints manager Ralph Hasenhuttl replaced Mario Lemina with Nathan Redmond, and City almost carved out a chance when the substitute's pass was intercepted but Sterling was unable to play in Mahrez.
Hojbjerg, who had forced Ederson into action with another attempt from distance, then found himself back inside his own area as Sterling threatened again, but the cross was diverted away from the waiting Aguero.
Sterling, creating havoc on the left, almost added a fourth but McCarthy stopped his angled effort, and Southampton's frustration showed when Austin launched a crude challenge on Fernandinho and was booked.
Hasenhuttl made a second change, bringing on Yan Valery for Oriol Romeu, and Aguero was close to his second goal of the afternoon when he turned inside the area but saw his fierce shot come back off the bar.
With City back in complete command, Sterling crossed for Aguero, whose strike was blocked, and then Sterling went down under Valery's challenge but no penalty was given.
Austin made way for Shane Long as Saints made their final change, and Vincent Kompany was booked for fouling Elyounoussi as the home side looked for a way back into the match.
Jan Bednarek was then cautioned for a foul before City's Guardiola made a change, Gabriel Jesus on for goal-scorer Aguero.
Danilo went into the book for a clattering challenge on Redmond, and there McCarthy made another good stop when Mahrez, later replaced by Leroy Sane, was picked out by substitute Jesus.
A difficult day for Southampton, outside the relegation zone only on goal difference, got even worse in the closing minutes when scorer Hojbjerg was sent off for a lunging challenge on Fernandinho, who made way for Kyle Walker.