Raheem Sterling got City off to a perfect start at St. Mary’s, handing the visitors an early lead on 12 minutes with a calmly taken finish.
Despite conceding early, Southampton continued to threaten. They created a string of opportunities and their pressure told just before half-time. Stuart Armstrong played a superb through ball to Mohamed Elyounoussi, whose low cross was turned into City’s net by defender Aymeric Laporte for an own goal.
Pep Guardiola’s side characteristically dominated possession in the second half and went back ahead when striker Gabriel Jesus went down in the Southampton box after a nudge in the back from Mohammed Salisu, with De Bruyne scoring the ensuing penalty.
City added a third on 75 minutes through Foden, who collected the ball after a blocked shot from De Bruyne before firing past goalkeeper Fraser Forster, and Mahrez capped a convincing win with a strike of his own shortly after.
The result means City remain active in two cup competitions — the Champions League and FA Cup — as well as leading the Premier League heading into the business end of the season.
“They push you with incredible intensity but the goal we conceded was a consequence of us forgetting to play,” City boss Pep Guardiola told BBC.
“It was not a comfortable victory but now we go into the international break, there are two months left in the season and we are in three competitions — semifinal of the FA Cup, quarterfinal of the Champions League and top of the league.
“We know every game is a final and we knew it was important not to lose today.”
But Southampton’s efforts were undone by Mohammed Salisu, who needlessly brought down Jesus to concede a penalty in the 61st minute.
Kevin de Bruyne stepped up to convert from the spot, with his tame effort creeping under Forster’s outstretched arm.
Che Adams had a great opportunity to level, shooting straight at goalkeeper Zack Steffen, and Southampton were punished two minutes later when Phil Foden lashed home a thumping strike from the edge of the area to increase City’s advantage.
Riyad Mahrez completed the rout in the 79th minute, turning in a Joao Cancelo cross to cap off a free-flowing attacking move from City.