The Citizens head into the game, having recently overtaken Arsenal on the Premier League table following their 1-0 win against Burnley.
Following the victory, they face the Saints in the FA Cup semi-final in a bid to win their second domestic trophy of the season.
Despite Southampton's effort to shock the visitors, they were able to get a narrow 2-1 victory following a late goal.
As it happened
Manchester City boss Pep Guardiola gambled with his team selection by playing many of his second string for this FA Cup semi-final at Wembley. He made eight changes in total from the side that beat Burnley in midweek.
On the other hand, Championship high-flyers Southampton made six changes from their draw against Bristol City last time out.
The Citizens started the game dominating possession but could not find a path towards goal against the Saints.
Despite being under constant pressure throughout the first half, the Saints managed to find the net, only for the goal to be disallowed for offside.
In the second half, Man City tried everything to get the opening goal of the game, but it was Southampton who shocked the Premier League title contenders.
The Saints won the ball back on the halfway line and got forward; it came to Finn Azaz 20 yards out, and he curled one into the top corner.
However, their lead did not last as Jeremy Doku got the equaliser for Man City before Nico Gonzalez's goal sent them to the final.
The victory gives Pep Guardiola’s men a chance to win another trophy this season and await the winner between Chelsea and Leeds in the final.