Despite the Premier League champions enjoying the best of the action for the majority of the game, they were unable to break Stoke down for the most part, with David Silva coming closest in the first half with a curling effort that rattled the woodwork.
However, an unlikely hero emerged in right-back Pablo Zabaleta as the Argentinian marauded forward with five minutes remaining, diverting the ball home adeptly and putting City through to the next round of the FA Cup.
Tony Pulis decided to ring the changes from the side that lost 3-1 against Swansea, with Ryan Shotton, Andy Wilkinson, Michael Kightly and Kenwyne Jones replacing Dean Whitehead, Geoff Cameron, Charlie Adam and Peter Crouch.
After early half-chances were spurned by Carlos Tevez and Robert Huth, it was almost 20 minutes before the first clear-cut chance fell Manchester City's way; with a quick free kick from James Milner catching Stoke unawares, Silva took one touch before curling it goalwards, beating Sorensen but being denied by the post.
Despite the away side's growing pressure, the Potters were next to truly threaten the goal as, after a deep free kick was turned goalwards by Huth, Ryan Shawcross was there to turn it home, but, unfortunately for the home side, he was in an offside position and the opener was duly ruled out.
With City continually proving unable to break the home side down in the remainder of the first half, their problems were exacerbated as captain Vincent Kompany hobbled off injured with a calf injury.
The second half got off to a contentious start as Glenn Whelan dived in dangerously on Javi Garcia but, with Howard Webb's view presumably obscured, the Potters midfielder escaped punishment.
With the second half failing to maintain that lively start, the visitors began to dominate possession as both Edin Dzeko and substitute Sergio Aguero went close with powerful efforts that fizzed just wide of the post.
As the game started to peter out with five minutes left to play, the deadlock was finally broken as, after City broke down the left, Aguero put the ball in, Dzeko managing to get a flick-on and divert it into the path of Zabaleta. The right-back, bursting into the area unmarked, hit home with the outside of his boot and Manchester City were finally ahead.
Cameron Jerome had the chance to level proceedings in injury time but spurned his chance, firing way over after the ball fell for him from a long-throw as City moved into the fifth round.