Southampton goalkeeper Alex McCarthy helped with a string of saves as Manchester City were surprisingly beaten.
Another player who stood out was Che Adams. He ended his wait for a first Premier League goal with an incredible long-range strike to see Southampton to a shock 1-0 win over Manchester City.
Manchester City lacked fluency from the outset at St Mary’s, although Adams’ wonderful finish preceded a flurry of chances for Pep Guardiola’s men.
With Aguero injured, Pep Guardiola also rested Kevin De Bruyne and Phil Foden, among others, after crushing champions Liverpool in midweek.
However, he was made to pay for his decision when Stuart Armstrong stole possession from Oleksandr Zinchenko on halfway and the ball ran for Adams – without a goal since April 2019 – to sweep a stunning 40-yard effort over the stranded Ederson and into a gaping net.
Pressure subsequently built on the Southampton goal, where McCarthy watched Gabriel Jesus miss the target from close range before getting to work.
In a frantic spell, McCarthy parried from Raheem Sterling, dived after a Fernandinho shot that bounced away off the post and then sprang back to his feet to brilliantly repel David Silva’s header.
Riyad Mahrez was next to find the insured keeper blocking his path before a stretching Danny Ings volleyed over when he might have doubled Saints’ lead just before half-time.
McCarthy was at it again following the interval, keeping out Jesus’ header and then smothering from Silva after a pinpoint Zinchenko pass.
De Bruyne and Foden soon arrived from the bench, but the withdrawals of Mahrez and Sterling only seemed to hurt City further and Ederson had to stop an Armstrong blast as his side stuttered to a surprise loss despite applying plenty of late pressure.
However, the hosts held on to hand City their ninth league defeat of the season and their third in a row away from Ethihad.