A goal from Jamie Paterson separated the Royals and visitors, Bristol City on Tuesday night, as the Robins left Madejski Stadium with three points.
A relatively quiet first half was followed by an open, expansive second 45 in RG2. Reading were on top for large portions, but a quick counter-attack saw Paterson able to snatch the winner.
The Royals rallied late on in search of a leveller, but couldn't get themselves on the scoresheet on the night.
Following their FA Cup outing against Cardiff at the weekend, Mark Bowen made 11 changes as he reverted back to the starting line-up to take to the pitch against Nottingham Forest in their last Sky Bet Championship match.
The first whistle went and Reading found themselves with a good opportunity within seconds. Ashley Williams slipped while in possession for the Robins and George Pușcaș stole a march to win it.
He drove towards goal, letting fly from the edge of the area and drawing a block from Williams' centre-back partner, Nathan Baker.
Up the other end, the visitors made a positive move forward to put the Reading defence on the back foot, finished by Niclas Eliasson's cross towards Andreas Weimann, whose glancing header scraped the side netting early on.
It was an even start between the teams as they settled into proceedings at the Madejski, with a John Swift free-kick into the area glanced away at the last by a red shirt with 10 minutes on the clock.
Pelé showed strong vision to pick Chris Gunter out on the right flank shortly afterwards, with the defender able to cut onto his left foot 20 yards out. He tried a strike at goal, but Baker's deflection saw it loop over the bar.
City kept up the attacking threats of their own, however, and when a corner got caught under Famara Diédhiou's feet, the attacker tried to fire at goal - but Michael Morrison put his body on the line to put in a crucial block.
The half-hour mark approached without an effort on target in the game, but John Swift changed that when he took aim from all of 30 yards - rifling at Dan Bentley, who had to scramble to parry around the post in the best chance of the match to that point.
It was a scrappy half between the teams in RG2, with neither team able to threaten in attack as the teams cancelled each other out.
In truth, chances were at a premium in a first period dominated in midfield. The first 45 won't go down in the annuls of time as a Madejski Stadium classic, but it was all to play for as the teams headed in level at the break.
A Robins free kick rounded off the half, and as it was taken short, the referee blew up for half time as the ball stayed in midfield - much to the amusement of Royals supporters in the crowd.
Half-time | Reading 0-0 Bristol City
Mark Bowen's side came out on the front foot in the second half, controlling the early possession and looking to exploit gaps in the Robins' back line.
A neat passing move resulted in a cross-field pass from Pelé finding Obita in space. He was able to get into a good crossing position on the left and arrowed a ball across goal - narrowly out of reach of a Reading boot from close range.
Shortly afterwards, City half-cleared a corner and brilliant defensive work from Pelé saw him steal possession back and play to Michael Olise in space.
The teenager jinked his way into a shooting position 25 yards out, but couldn't quite the right connection as the ball flew wide on that occasion.
The pace of the match picked up as the teams opened up in search of the game's first goal, and a quick break from the visitors allowed Eliasson space on the right, whose attempted cross avoided everyone and bounced behind Rafael's far post as Diédhiou missed the crucial touch.
Near the hour mark, a surging run from Morrison saw him force a corner for the Royals.
Obita swung the delivery towards the far post, Morrison poked it back into the six-yard area and Ovie Ejaria shot off-balance, somehow clearing the crossbar from just a couple of yards out.
Former Robins player of the season, Sam Baldock was introduced for the Royals just after the hour mark in place of Pușcaș.
As play restarted, though, the visitors took a shock lead against the run of play. A high ball saw Diédhiou win it and Eliasson broke on the right, slotting it through to Paterson in the box. The Royals called for offside, but the flag stayed down as as the playmaker slotted under Rafael and into the far corner.
Having responded quickly after falling behind in both matches against Nottingham Forest previously, the Royals tried to do so again as a Swift free kick beat the wall, but not Bentley in the Robins' goal.
In need of fire-power, Yakou Méïté and Sone Aluko were swiftly brought on for Reading as Bowen's side searched for a leveller at Madejski Stadium, in place of Swift and Tyler Blackett.
As expected, though, Lee Johnson's side did what they could to slow the game down - with skipper Josh Brownhill going into the referee's notebook for time-wasting with 15 minutes still left on the clock.
Rafael helped keep Reading's hopes alive when a neat interchange saw City substitute, Callum O'Dowda bear down on goal. He shot towards the near post, with the goalkeeper covering well to save.
Reading moved to a three-pronged attack of Méïté, Aluko and Baldock up front as the clock began to tick down in RG2. Bowen's side were dominating the ball, but the visitors kept men back to stop the danger.
A manic passage of play saw a cross to the far post finding Méïté, whose downward header struck the post, before Baldock's attempted follow-up was scrambled away. Aluko then had a shot blocked, with Chris Gunter's attempted floater to the far corner headed off the line by his Wales colleague, Ashley Williams.
Shortly afterwards, an Olise cross also found Méïté at the far post, with his header going on target once more and drawing a flying save from Bentley.
The Ivorian was in the thick of the action again as a clever piece of invention from Baldock saw him loft it over Williams' head into Méïté's path in the box. It was a difficult angle from which to shoot, and he dragged it narrowly wide.
Unfortunately for the Royals, their late rally wasn't enough for an equaliser on the night.
Full-time | Reading 0-1 Bristol City
Reading: Rafael, Gunter, Morrison, Moore (c), Blackett (Méïté 69), Pelé, Ejaria, Swift (Aluko 73), Obita, Olise, Pușcaș (Baldock 62).
Unused subs: Walker, Richards, Rinomhota, Adam.
Bristol City: Bentley, Hunt, Da Silva, Williams, Baker, Brownhill (c), Paterson (O'Dowda 77), Smith, Eliasson (Moore 90+1), Weimann, Diédhiou.
Unused subs: Maenpaa, Semenyo, Rowe, Massengo, Palmer.
Goals: Paterson (63)
Yellow: Diédhiou, Smith, Brownhill
Attendance: 11,633 (1,934 away)
Referee: Mr J Linington