Reading's slump in form continued as on-song Bristol City condemned the Royals to just their second home defeat of the season.
The Royals have not even scored a Coca-Cola Championship goal for almost six hours and were comprehensively outplayed by Gary Johnson's side who moved into fourth place with the win.
They took the lead through Dele Adebola's first-half header and added a second in the 48th minute with Cole Skuse claiming the final touch to a goalmouth melee and look a decent bet to repeat their play-off surge of last season.
With leaders Wolves not in action until Sunday, Steve Coppell's side could have closed the gap to just a point with a win but will now face strugglers Nottingham Forest next weekend under real pressure to return to winning ways.
The Robins were making their extra body in midfield count as they kept the ball well early on but it was Coppell's side who came close to opening the scoring against the run of play.
Leroy Lita was doing his best to unsettle his former employers and after he won the ball in the left channel he teed up Chris Armstrong for a speculative effort which lacked power but still beat Adriano Basso and hit the outside of the post.
But justice was done in the 26th minute when Adebola headed the Robins ahead.
A bright break was ended when Armstrong fouled Bradley Orr and from the resulting free-kick Michael McIndoe's inswinging cross evaded Alex Pearce for Adebola to head past Adam Federici from a matter of yards.
Only a last-ditch tackle by Liam Rosenior prevented Ivan Sproule from doubling the lead after Adebola had dummied a through-ball.
The reprieve was short-lived however as the Robins did double the lead just three minutes into the second half.
A long free-kick forward was again won in the air by Adebola and after Orr clipped the ball across Federici a bunch of players converged on the goal line.
Liam Fontaine saw his close-range effort blocked on the line by Pearce but after several more swipes at the ball the goal was awarded with midfielder Skuse eventually credited with applying the decisive touch.
The home fans got their wish as the ineffective captain James Harper was replaced by Marek Matejovsky but the Czech Republic international could make little impact.
Kevin Doyle and Lita did both blast half-chances over as the hosts looked in vain for a goal but it was the 4,500 travelling supporters who went home happy.
Teams
Reading: Federici, Rosenior, Pearce (Noel Hunt 81), Duberry, Armstrong, Kebe, Cisse (Matejovsky 60), Harper (Gunnarsson 59), Stephen Hunt, Doyle, Lita.
Subs Not Used: Hahnemann, Tabb.
Booked: Harper.
Bristol City: Basso, Orr, Carey, Fontaine, McAllister, Sproule (Murray 75), Johnson, Skuse (Iriekpen 82), McIndoe, Williams, Adebola (John 68).
Subs Not Used: Henderson, Maynard.
Booked: Williams.
Goals: Adebola 26, Skuse 48.
Att: 22,462
Ref: Andy Penn (W Midlands).