With the score at 0-0, the Canaries were reduced to 10 men in the 31st minute when Gary O’Neil was sent off for an utterly needless slide tackle on Ibrahim Afellay.
After then falling behind to Jonathan Walters’ 49th-minute effort, Norwich did well to level six minutes later through a cracking Jonny Howson strike.
But Stoke regained the lead via Joselu’s smart finish in the 67th minute, and the away side then shot themselves in the foot again as Ryan Bennett’s own-goal 12 minutes from time sealed victory for the hosts.
Stoke, with most of the players rested for Saturday’s FA Cup game back in their side, but not hamstring injury victim Xherdan Shaqiri, made a positive start as Marko Arnautovic brought a decent save out of Declan Rudd
Howson sent Norwich’s first real effort into the stand, before both Walters and Joselu put the ball wide from Arnautovic tee-ups.
Norwich found themselves a man down after O’Neil opted to make a lunging tackle from behind on Afellay.
Soon after the break Arnautovic whipping in across that Walters tucked away with the visitors’ defence static.
Things looked grim for Norwich, but the 10 men then shocked their hosts as Vadis Odjidja-Ofoe chested a Hoolahan cross down on the edge of the box and Howson lashed into the corner.
Stoke’s lead was restored when Sebastien Bassong’s attempt at a clearance only came to Afellay, whose pass was slotted in by Joselu.
Bennett then made the points safe for the opposition, nodding Afellay’s free-kick past Rudd, who did well late on to deny Stoke substitute Peter Crouch.
Butland ,Johnson, Shawcross, Wollscheid, Pieters, Whelan, Afellay, Walters, Krkic (Odemwingie 56), Arnautovic (van Ginkel 76), Joselu (Crouch 83).
Rudd, Martin, Bennett, Bassong, Brady, Odjidja-Ofoe (Redmond 62), Tettey, O’Neil, Howson, Hoolahan (Jarvis 63), Mbokani (Jerome 75).
Neil Swarbrick (Lancashire).