Former Manchester City boss Mark Hughes frustrated his old club as his confident Stoke side held them to a 0-0 draw at the Britannia Stadium.
The Potters were unable to secure a third successive Barclays Premier League win but produced another encouraging performance as they continue to develop under new manager Hughes.
Stoke forward Jonathan Walters spurned one of the best chances of the game when he headed wide from a superb Charlie Adam cross in the first half. City goalkeeper Joe Hart also had to be alert to prevent a Matija Nastasic own goal.
City, who made six changes ahead of the start of their Champions League campaign next week, again failed to find their spark in what has become an unconvincing sequence under their new manager Manuel Pellegrini.
Pellegrini opted to change his strike pairing and hand a debut to Stevan Jovetic and a first start to Alvaro Negredo, with Sergio Aguero and Edin Dzeko making way.
Javi Garcia again failed to impress in central defence after surprisingly replacing Joleon Lescott while new pair Jesus Navas and Fernandinho were also among the substitutes.
James Milner, Jack Rodwell and Samir Nasri came in to little effect.
Yet the visitors had the first sight of goal when Aleksandar Kolarov, scorer of a stunner for Serbia against Wales in midweek, shot wide.
Nasri was also presented with a chance after Yaya Toure robbed Steven Nzonzi but the Frenchman shot tamely at Asmir Begovic.
City looked to build patiently but they lacked fluidity and Stoke seemed more at ease with the new style Hughes is trying to implement.
The Potters were passing the ball around far more than their fans are accustomed to - and they even sang about it at one point - and gave City plenty to think about.
Yet their first chance came after a clearance from Toure went only as far as Marc Wilson and the midfielder shot wide from distance.
Walters should have scored when he glanced his header wide after the brilliant Adam picked him out unmarked in front of goal from the right.
Kenwyne Jones tested Hart when he seized on Nasri's failure to cut out a long ball but the under-pressure England goalkeeper stood up well to block.
Nzonzi might also have done better when a clearance rebounded off Rodwell and into his path.
The former Blackburn man seemed to have a clear run at goal but he checked back to pass and the counter-attack petered out.
Adam then connected with a powerful shot but it flew straight at Hart.
Throughout their spell on the back foot City had created little aside from a chance for Jovetic, who shot at Begovic when he might have looked to release Negredo.
They had another opportunity before the break after Robert Huth fouled Jovetic 30 yards put but Kolarov curled his free-kick over.
Stoke carried their momentum into the second half with Walters narrowly failing to turn in a cross from Geoff Cameron.
Jovetic volleyed over as City tried to respond but Stoke continued to dictate the game and went close again when Jones rose above Nastasic to head narrowly over from another fine Adam cross.
Adam connected cleanly with another shot from long range but Hart saved comfortably to his right.
A mistake by Garcia, looking uncomfortable at the back, caused more alarm in the City box but Pablo Zabaleta cleared the danger.
Pellegrini attempted to change things by withdrawing the frustrated Jovetic, whose final act was to head wide from a Nasri free-kick, and sending on Aguero.
However it seemed Stoke were more lifted by the introduction of their substitutes Stephen Ireland, the former Manchester City midfielder, and Marko Arnautovic for debuts.
Arnautovic was straight into the action and caused mayhem as his cross from the left was diverted towards his own goal by Nastasic.
Fortunately for the defender Hart was alert and produced a fine reaction save.
Peter Crouch came on after Stoke lost Jones to injury after there was further concern when Huth appeared to be knocked out after a collision with Negredo, but he was able to resume after treatment.
City's frustrations were summed up when Negredo miskicked in front of goal in the last minute and Arnautovic might have snatched victory when he shot over in injury time.