Sterling calmly converted from 12-yards after he was expertly picked out by Kevin De Bruyne’s ball across goal in the 16th minute to end City’s two-match winless run.
Pep Guardiola’s side were made to work hard for victory at St Mary’s Stadium, where the home side saw penalty appeals for a Sterling handball rejected by VAR, but another solid defensive display provided the platform for a hard-fought victory against the high flying Saints.
Both teams traded chances in a keenly contested first half in which Southampton looked particularly impressive either side of Sterling’s strike.
The hosts started brightly, displaying the attacking intent you'd expect from a team who had lost just once in 11 league games, but City weathered the storm and enjoyed a dominant spell before breaking the deadlock.
Joao Cancelo stung Alex McCarthy’s palms with a 30-yard drive before Rodrigo was flagged offside as he converted Bernardo Silva’s free-kick at the far post and then Sterling struck.
It started with a long punt forward from Ederson and when Southampton failed to clear it, De Bruyne capitalised on the loose ball, exchanging passes with Bernardo before delivering a pinpoint cross for Sterling to steer into the bottom corner.
Southampton were galvanised by the goal and Ederson was forced into good saves from the lively Theo Walcott's angled drive and Jannik Vestergaard's header, before Danny Ings headed Walcott's cross wide under pressure from Ruben Dias.
Southampton might have felt unlucky to go in behind at the break, but in the second half City were superior in attack and created enough chances to make this win more comfortable.
The best of those again came from De Bruyne, as he crossed for Bernardo, but the Portuguese midfielder's resulting shot was tame and gratefully gathered by a relieved McCarthy.
The Southampton goalkeeper made a superb save to deny the impressive Ilkay Gundogan, flinging himself across goal to tip over a 20-yard effort that looked destined for the top corner, but it wasn't all City.
An in-swinging James Ward-Prowse corner put Ederson under pressure on his goal line, whilst Che Adams headed into the side netting after Nathan Tella's teasing cross was deflected into his path by John Stones.
City were left breathing a sigh of relief after VAR overruled the opposition's vociferous appeals for a penalty when a cross bounced onto Sterling's arm and whilst the one goal advantage made for a tense finale tensions, we might have scored a goal to put the game beyond doubt.
Another free-flowing move freed Bernardo in the box only for the playmaker to elect to cross for Riyad Mahrez when the shot was on, but it mattered not as City held on to come through a challenging test away from home.
Man of the Match - Kevin De Bruyne
At the heart of everything good about our attacking play and delivered trademark killer passer for the winning goal.
Pep Guardiola: Back four brilliant
"They were brilliant. We know exactly which team we faced, how good they are, the build up is so, so good. They put a lot of players forward and make runs in behind. It’s good for us to climb the table and our mood.
"Our momentum is not good upfront. We had chances to score more. The back four were brilliant, Rodri and Gundogan as well. Good victory for us."
We have conceded fewer goals (12) and kept more clean sheets (6) than anyone other team in the Premier League so far this season.
what it means
City are now unbeaten in eight games in all competition and move up to fifth in the Premier League ahead of the this weekend's remaining fixtures.
We have 23-points from 13 games and are eight points behind leaders Liverpool, but with a game in hand.
City travel to Arsenal on Tuesday for a Carabao Cup quarter-final tie that gets under way at 20:00 (UK).
We are back in Premier League action on Boxing Day, when Newcastle United will visit the Etihad Stadium. Kick-off is at 20:00.
CITY: Ederson, Walker, Stones, Dias, Cancelo, Rodrigo, Gundogan, De Bruyne (C), Bernardo, Sterling, Torres (Mahrez 72').
SUBS: Carson, Ake, Aguero, Zinchenko, Mendy, Fernandinho, Foden, Nmecha.
SOUTHAMPTON: McCarthy, Walker-Peters, Bednarek, Vestergaard, Bertrand, Ward-Prowse, Romeu, Djenepo (Redmond 59'), Walcott, Adams (N'Lundulu 82'), Ings (Tella 41').
SUBS: Forster, Stephens, Salisu, Diallo, Armstrong, Long.