A scrappy and unpleasant half began as it meant to go on when after nine minutes, Reading got their first sight of goal with Ibrahima Sonko heading over from a Bobby Convey corner.
The Royals failed to capitalise on another golden opportunity after a quarter of an hour when a careless clearance by Marlon Broomes meant ex-Potter Brynjar Gunnarsson picked up the ball at 25 yards.
The in-form midfielder struck a powerful half volley that luckily for Steve Simonsen, whizzed past his right post.
Stoke fans grew frustrated as a lack of chances weren't helped with selfish moments such as a Paul Gallagher promising run being greedily wasted with a poor shot from distance.
Reading could have taken the lead through Gunnarsson again seconds before the break when Glen Little cleverly cut the ball back for the Icelander, but his 14-yard effort never even made the target.
City finally looked like scoring on 65 minutes when a deft touch by Peter Sweeney set up Paul Gallagher on the edge of the box but even a slight deflection to unbalance the goalkeeper couldn't carry the ball into the net.
Convey continued to plug away for his side but once again was denied by Simonsen when his 20-yard free-kick was tipped over the bar by the goalkeeper.
The stalemate was finally broken in the 77th minute when after a poor Gerry Taggart free-kick allowed Reading to attack Stoke's box, Lewis Buxton clipped the heels of Dave Kitson to concede a penalty.
Kitson had no hesitation in stepping up to the spot, eventually blasting the ball straight down the middle with venom to claim all three points.