The Royals dominated possession but were 2-0 down at half-time following clinical finishes from Tyrese Campbell and Steven Fletcher.
Potters keeper Angus Gunn had saved two early headers from Alfa Semedo, while Lewis Gibson missed a chance to pull one back before the break.
Tomas Esteves and Sam Baldock shot narrowly wide for Reading in the second half, before substitute Jacob Brown added a third for the visitors deep into stoppage time.
Reading were the early pacesetters in the second tier, winning seven of their first eight games to establish a seven-point lead at the top of the table, but Veljko Paunovic’s men could be replaced at the summit if Swansea City win at Norwich at 15:00 GMT.
Potters make most of Royals slip-ups
Reading started brightly and created two chances for Semedo in the first six minutes.
The midfielder could have done better with his first header, sending it down into the ground and straight at Gunn, but his second was a powerful effort which the on-loan Southampton keeper tipped over the bar.
Stoke took the lead midway through the first half when Campbell pounced on a loose clearing header from Esteves and found the bottom left-hand corner with Royals keeper Rafael Cabral unsighted.
The visitors doubled their lead 10 minutes before half-time when a clearing kick from Cabral was headed back into the box by right-back Tommy Smith and Fletcher sent a first-time finish past the Brazilian.
Gibson could not divert a free-kick from Esteves towards goal at the back post and Reading then had appeals for a penalty waved away by referee Keith Stroud after Michael Morrison went down under the challenges of Danny Batth and Nick Powell following a corner.
Reading continued to enjoy more of the ball after the break as Stoke sat back, but it was the visitors who came closer to scoring another goal when Campbell’s curling effort came back off the post.
And the Potters did wrap things up in the fifth minute of added time when Brown capitalised on a weak backpass from Gibson and rounded Cabral before slotting in.
Stoke’s first win in 16 league trips to Reading – a run stretching back to December 1992 – lifted Michael O’Neill’s men up to sixth in the table before the rest of Saturday’s fixtures.