Matthew Etherington's second-half strike was enough to clinch a hard-earned victory for Stoke and lift the Potters to eighth in the Premier League.
There were few chances in a cagey encounter, the Canaries defending stubbornly for much of the game.
But, on 71 minutes, Etherington reacted first to substitute Cameron Jerome's flick-on to score from a tight angle.
The result leaves Stoke three points behind seventh-placed Liverpool, with Norwich one point further adrift.
It was the Potters' second straight home win after a run of four defeats, a result that all but seals their Premier League status for a fifth successive season.
Norwich will feel they did enough for large periods in the game to earn a point, but ultimately the home side enjoyed most of the pressure, particularly after the break when they took the game to Paul Lambert's side.
But there was initially little to choose between the sides in a scrappy opening period, and the visitors were accomplished in dealing with Stoke's aerial threat, Zak Whitbread and Elliott Ward holding firm in central defence.
There was plenty of industry on display from both sides in midfield but with a distinct lack of quality or adventure.
Dean Whitehead's rare dart forward was neatly picked out by Walters on 25 minutes and perhaps Whitehead should have done better after bursting into the area, his tame shot easily saved by Ruddy.
Norwich went close shortly after when Russell Martin swung in a free-kick from the right, top scorer Grant Holt rising unmarked to power a header from a difficult angle straight at Asmir Begovic.
The best chance of the half came just before the break. Stoke surprised the visitors by electing for a short throw-in down the right and Shotton combined with substitute Pennant - on for the injured Andy Wilkinson - before crossing to Crouch, whose first effort was blocked by Bradley Johnson, before Ruddy made a fine point-blank save with his legs from Crouch's fiercely struck rebound.
The home side attempted to grab the initiative at the beginning of the second period, forcing a number of corners. But the Canaries continued to be robust, frustrating their hosts and their manager Tony Pulis on the sidelines.
There was precious little to enthuse a packed crowd and Pulis changed his forward line after the hour mark in search of the elusive goal
Crouch and Walters were replaced by Kenwyne Jones and Cameron Jerome, who made an immediate impact.
After Stoke forced a throw in down the left, he flicked on into the path of Etherington, who nudged the ball past Ward's tame challenge before firing a left foot volley past Ruddy, who was easily beaten at his near post.
The solitary goal proved to be controversial after replays showed that Norwich should have been awarded the throw-in as the last touch came off Stoke full-back Mark Wilson.
But, while it will be a subject of frustration for Lambert, it was his side's momentary lapse of concentration that ultimately proved costly.
Jerome should have made it two in the closing stages but dithered at the crucial moment when presented with a one-on-one opportunity.
Holt had Norwich's best chance to salvage something in the final moments, but his effort from the edge of the box was well blocked.
Norwich boss Paul Lambert: "I think it was our throw [for the goal.]
"The referee is walking away as if he has given it to us, and he actually raises his hand a little bit as if it is a Norwich throw, and then the linesman has overruled him for some reason.
"Our lads think it is our throw, we are out of possession and then we lose a bad goal. I think it was there for everybody to see that it was a Norwich throw.
"The ref did admit it to me in the tunnel that he was going to give it to us, but the linesman has overruled him.
"It is frustrating. We never had many chances in the game and never really got going with any fluency."
Stoke manager Tony Pulis: "I haven't seen the incident for the goal, but if that (what Lambert said) is right and we got a little bit of luck, then I think we have deserved it with our overall performance.
"Andy Wilkinson might have just dislodged his back a little, which then caused his hamstring to get tight. But you can't afford to take a chance.
"We put Jermaine Pennant on and he did smashing. The two of them - him and Ryan Shotton - were very good on the right side."