Sam Gallagher hit a late winner to give Blackburn a 2-1 victory at struggling Stoke.
It looked like the visitors had chucked the points away when Bradley Dack was credited with an own goal with nine minutes to go.
But Gallagher slotted home following a brilliant counter-attack minutes later to win it for Rovers.
City enjoyed good spells of first-half possession but lacked quality in the final third and struggled to create clear-cut chances.
And it was a similar story in the second half as Stoke failed to show the ruthlessness needed in front of goal.
The Potters enjoyed a solid opening with Walton getting down to keep out a Tom Ince shot after five minutes.
Adam Armstrong failed to get any force behind his shot after nine minutes as Blackburn started to take charge.
Cameron Carter-Vickers could only find the stands with an attempted 23rd-minute cross as the home fans began to vent their frustrations.
Joe Allen skied a long effort well over on the half-hour mark, before Ince failed to make connection with a header while under pressure.
Sam Clucas headed well over four minutes later as the Potters continued to enjoy a good spell of possession.
Ince curled a powerful shot just wide of the goal two minutes into the second half after finding space on the end of the box.
A diving Walton brilliantly pushed away a Sam Vokes header after 49 minutes as City stepped up the tempo.
Ince scuffed a shot from close range on the hour mark after a good run by Carter-Vickers created an opening.
Adarabioyo sliced a clearance over his own crossbar on 64 minutes, before Clucas lashed an effort wide from long range minutes later.
Stoke were shouting for a penalty after 69 minutes when James McClean's cross appeared to be handled in the box.
The Rovers rearguard was finally breached when Dack was adjudged to have the last touch as the ball went into his own net.
But the visitors restored their advantage when the unmarked Gallagher turned home Elliott Bennett's cross with six minutes to go.