Kyle Walker-Peters scored a superb seventh-minute opener following a neat a one-two with Nathan Redmond, touching the ball into his path before firing beyond Ederson on the bounce.
But Kevin de Bruyne curled a free-kick onto the head of Aymeric Laporte and the unmarked defender nodded past Fraser Forster to level with 25 minutes remaining.
De Bruyne hit the post moments later while Rodri and Gabriel Jesus also struck the woodwork. Forster denied Raheem Sterling too with his legs at close range from a glorious chance in the first half.
It gives a flicker of hope to Liverpool and Chelsea in the title race, with both teams having a chance to make up ground when they play on Sunday.
The second-placed Reds, who have two games in hand, visit Crystal Palace while Chelsea, in third, host Tottenham.
Southampton, who are now unbeaten in eight games at home in the top flight, sit 12th in the table.
Saints prove City’s stumbling block
Southampton have made St Mary’s a tricky place to visit this season, losing just one game on their own patch and stretching their unbeaten run at home to eight games.
Guardiola recognised that beforehand, saying his side faced an “incredible challenge”, and it became even more difficult when the Saints opened the scoring.
It was a goal City themselves would have been proud of, with Oriol Romeu spreading play to the right and Walker-Peters engineering a neat exchange with Redmond before lashing the bouncing ball into the far corner to net his first in the Premier League on his 68th appearance.
Armando Broja also finished smartly when played through soon after and, although the Chelsea loanee had strayed offside on that occasion, he continued to be a threat, heading against the post in the second half from a tight angle.
Boss Ralph Hasenhuttl called on his side to “be brave with the ball” and “not park the bus”, with the hosts taking confidence from a goalless draw in the reverse fixture earlier in the season.
They were forced to drop deeper to counter the growing City threat, though, and when Laporte headed in the equaliser, it felt like an inevitable City winner was coming.
City mustered 15 shots in the second half as they pushed for a 13th successive win, but with home defender Mohammed Salisu in defiant form and 33-year-old goalkeeper Forster making several fine stops, the home side showed resilience to earn a point.
Guardiola’s side still in charge
City have not been at their fluid free-scoring best in recent weeks but their relentless pursuit of the title has continued with narrow wins over Brentford, Arsenal and Chelsea.
This was only the second time Pep Guardiola’s side have trailed at half-time in an away Premier League game this season, recovering to win in stoppage-time at Emirates Stadium in the other.
But there was to be no repeat on the south coast on Saturday, with a slow start costing the defending champions.
The visitors did not manage a shot on target until the 38th minute. But when the chance came it was a glorious one for Sterling, who could only side-foot Phil Foden’s low cross against the flailing legs of Forster from the edge of the six-yard box.
Forster could do nothing to deny Laporte’s leveller, however, with De Bruyne’s assist meaning he has now been involved in 12 goals in his past 15 Premier League starts.
The Belgian has set up three goals and scored nine in that time and came close to adding another when he curled against the post with a strike reminiscent of his winner against Chelsea last week.
There was also a long check from the video assistant referee for a potential foul on De Bruyne in the second half, before the decision came back it was not a penalty.
It’s a result that means Manchester City’s remarkable run comes to an end, but you have to go back 130 years – to Preston North End in the 1891-92 season – to find the only team to win 12 games in a row and not win the title that same season.