A Pablo Zabaleta goal five minutes from time was enough to send Manchester City into the fifth round of the FA Cup as they overcome Stoke City 1-0 at the Britannia Stadium.
The Argentine's smart low finish was a rare moment of quality in an otherwise limp Cup tie that was watched by less than 20,000 despite the hosts offering discounted tickets.
The visiting Premier League champions just about edged the contest, although their afternoon was marred by a knock to captain Vincent Kompany who was forced off in the first half with a calf injury. He will miss two matches, assistant coach David Platt said afterwards.
Stoke put in a typically physical performance but never really looked like an attacking threat, and they were lucky even to finish with 11 men after an awful two-footed tackle from Glenn Whelan on Javi Garcia early in the second half.
City were the better team in the first-half without exactly dominating and the inventive David Silva was usually at the hub of things.
He curled a super effort off the post in the 20th minute from the right edge of the box after a James Milner had found him with a quick ball. A similar move was orchestrated in the opening minute off a corner but Silva fired over on that occasion.
Two minutes later a ball popped up for Carlos Tevez, free inside the box after some good City build-up play, but he sliced wide when a bit of composure might have yielded a more profitable result.
Stoke muscled their way a bit more into the match as the half progressed and it was no surprise to see set plays looking like their most likely route to goal. Indeed, they had the ball in the net in the 28th minute off a free-kick that City failed to clear, but the officials judged that Ryan Shawcross had swept it home from an offside position.
The most significant moment of the half though came in the 33rd minute when City skipper Kompany suffered a calf strain. He immediately signalled to the bench saying he could not continue but it still took Roberto Mancini seven minutes to bring on Gael Clichy as the champions reverted to a back three of Zabaleta, Joleon Lescott and Clichy.
The first half was poor, but for long periods the second half was even worse. Just 19,814 (4,100 from City) turned out for the game despite tickets being priced at just £20, and there are unlikely to be many who stayed away regretting the decision.
Those that did pay witnessed a terrible two footed lunge from Whelan on Garcia in 47th minute and Howard Webb must not have had a clear view of the incident as he did not even book the Irishman.
City brought on Sergio Aguero for Alexander Kolarov and reverted back to 4-4-2 in a bid to find a goal but most of their efforts were being smothered by blocks and tackles from Shawcross and Robert Huth.
Similarly the introductions of Cameron Jerome and Peter Crouch did not really make Stoke more dangerous at the other end and a replay looked like the most likely outcome.
But Zabaleta spared everyone a repeat of the drab encounter after a superb run into the box in the 85th minute to get on the end of a Dzeko flick-on after a low cross from Aguero. He collected the ball calmly and finished off by firing an excellent side-footed shot low into the near bottom corner.
It saved Mancini's men an unwanted replay and was just about deserved too. Stoke lumped a few balls into the box from crosses and throw-ins before the end, but nothing that really troubled Romanian giant Costel Pantilimon in the City goal as he had a comfortable afternoon deputising for the rested Joe Hart.
It was City's first win at Stoke for nearly 14 years and keeps alive their dreams of a second FA Cup success in three seasons.
MAN OF THE MATCH
Pablo Zabaleta (Manchester City) – The goal capped a typically enthusiastic performance from the Argentine.
Stoke City: Sorensen 6; Shotton 6, Shawcross 7, Huth 7, Wilkinson 6; N'Zonzi 5, Whelan 6, Kightly 5, Etherington 6; Walters 6, Jones 5.
Subs: Crouch 5, Whitehead 5, Jerome 5
Manchester City: Pantillimon 6; Zabaleta 8, Kompany 6, Lescott 7, Kolarov 6; Garcia 7, Barry 6, Milner 7; Silva 8, Tevez 7, Dzeko 7.
Subs Clichy 6, Rodwell N/A, Aguero 7