De Bruyne came close to setting up a chance for Aguero on 70 minutes but he couldn’t make clean enough contact to direct the ball past Grant before Silva dragged a shot agonisingly wide.
City had scored 12 goals in their last three outings but got no change out of Stoke.
And when Sane shot just wide and Otamendi headed onto the roof of the net all Guardiola could do was chalk it down to being one of those nights.
MANCHESTER CITY (4-2-3-1): Caballero; Sagna, Otamendi, Kolarov, Clichy; Fernandinho, Toure (Iheanacho 75); Navas (Silva 57), De Bruyne, Sane; Aguero. Subs: Bravo, Zabaleta, Nolito, Delph, Stones.
STOKE CITY (4-2-3-1): Grant; Bardsley, Shawcross, Indi, Pieters; Cameron, Allen (Imbula 85); Walters, Diouf (Affellay 68), Sobhi; Berahino (Whelan 79). Subs: Given, Muniesa, Adam, Crouch.
Referee: Neil Swarbrick.