John Goddard had given Swindon a half-time lead but the visitors struck twice in the second half to earn a win.
Lawrence Vigouroux was called into action twice early on to make routine saves while James Brophy teed up Yaser Kasim to fire a shot narrowly off target.
On a hot and sticky evening at the County Ground, chances were few and far between in the opening half –hour with both sides exchanges efforts wide – Anton Rodgers smacking a free-kick over the bar before the visitors’ Craig Tanner found a pocket of space inside the Town box and drilled a shot across goal and wide.
Ansi Jaakola kept out Yaser Kasim and Conor Thomas and Vigouroux produced a fine save to beat away a fizzing effort that was leathered through a crowded penalty box.
On the stroke of half time, the hosts took the lead through John Goddard. The former Woking man sent a shot goalwards that took a deflection on its way through before nestling in the back of the net.
At the start of the second period, Reading’s Deniss Rakels twisted on the edge of the box and sent a shot just wide while at the other end, Conor Thomas had the chance to double Town’s lead but Jaakkola was quickly off his line to smother the ball.
With ten minutes to play, the Royals found an equaliser. Town were undone down the right flank and when a low cross came across to Deniss Rakels, the striker made no mistake from close range.
Ten minutes later, Jaap Stam’s side scored the winner. Jack Stacey’s marauding run forward down the right brought him into the box and he slotted past Vigouroux to condemn Town to a 2-1 defeat.