Pep Guardiola will rue his men missing the opportunity to overtake Tottenham in second place after his side failed to break down their stubborn guests
The Germany international, who came into the match at the Etihad Stadium having netted in three consecutive appearances, was once again a livewire down the wing.
However, he was left holding his head when he skied his shot after Kevin De Bruyne's cross escaped Joe Allen's reach and found him on the hour mark.
Sane's chance proved to be one of City's best chances of the night, with the youngster unable to make contact with a great delivery for what would have been a guilt-edge chance in stoppage time.
David Silva – introduced for the ineffective Jesus Navas – had already spurned a glorious chance 18 minutes from the end, though he did make a big difference to City's attacking play.
But ultimately Guardiola introduced Silva too late and Stoke held on for a draw despite City's desperate late onslaught.
Stoke were much quicker out of the blocks than their hosts and should have taken an early lead through Mame Biram Diouf when the Senegal forward scuffed a first-time effort straight at Willy Caballero from Erik Pieters' cross.
The visitors continued to look bright in attack and caused problems again in the 15th minute.
Ramadan Sobhi cleverly turned Nicolas Otamendi on the left side of the area and darted towards the danger zone, but Bacary Sagna made a vital intervention before Diouf could pounce.
Diouf was then involved at the other end shortly after, tracking the run of Leroy Sane and producing a marvellous last-ditch tackle to deny him a clear run at Lee Grant and the Stoke goal.
Otherwise, Stoke did a fine job of keeping City at bay, with only an Aleksandar Kolarov free-kick – which Grant saved comfortably – troubling them.
City attacked with more intent after the break and crafted a good opening early on, but Sergio Aguero – captain on the night – saw his 20-yard effort deflected just over after being picked out by Sane.
The in-form German winger then went close with a chance of his own in the 60th minute, receiving De Bruyne's cutback and blazing over from 12 yards as Silva's entrance injected a little more urgency to City's attack.
Silva went close twice in quick succession as the match approached its final 15 minutes – first agonisingly missing the bottom-right corner from just inside the box, before drilling wide of the opposite post from distance.
Aguero almost stunned Stoke at the death when slipped into the left side of the box, but the Argentinian could only find the side-netting as Stoke secured a solid point.