The home side made a lively start and nearly took the lead inside five minutes when Peter Crouch came within inches of connecting with a corner at the far post.
Crouch's aerial battle with Adrian Mariappa was prominent throughout the opening 45 minutes but the Royals defender did just enough to keep the game goalless.
Reading handed new striker Nick Blackman a full debut this afternoon but he saw little of the ball on the left of a three-man attack.
Stoke continued to press before the break but despite a series of lively bursts from Matthew Etherington were unable to create a clear-cut opportunity before half time.
Robert Huth finally made the breakthrough for the Potters on 66 minutes with a powerful header from close range.
Second-half substitute Cameron Jerome looked to have made the game safe soon after with a fine finish that had Royals keeper Adam Federici rooted to the spot.
Stoke cleared the danger in a frantic finale and held on to secure an important three points.