Reading went in front after 13 minutes when Garath McCleary netted the rebound after seeing his weak spot-kick saved by City goalkeeper Frank Fielding, and City were breached again six minutes later when a flowing Reading move ended with Roy Beerens slamming home a fine first-time drive
Although City improved after the break, they had only an 87th-minute goal from captain Gary O'Neil to show for their efforts.
Reading went into the game on the back of four successive wins, in which they had scored nine goals and conceded none.
A run of only two defeats in 14 matches had seen Jaap Stam's side rise to third place in the table.
City had slipped of late are were without a win in three games, losing their past two against Brighton and Birmingham, with l eading scorer Tammy Abraham having also gone off the boil
After notched 11 goals in 14 outings at the start of the campaign, the on-loan Chelsea striker had scored only once in his past seven.
Reading opened the stronger and were soon on the attack, with Aden Flint having to be alert to block Dominic Samuel's close-range effort from a McCleary cross.
Fielding also had to move smartly to deny Samuel from another McCleary centre.
Reading's pressure paid off in the 13th minute, when they went ahead.
Hordur Magnusson clumsily brought down Samuel in the area and Reading were awarded their ninth penalty of the season.
McCleary's tame effort was saved by Fielding but the Jamaica forward pounced to tuck in the rebound.
It was the third spot-kick that McCleary has missed this term - but the second time that he had atoned by scoring on the follow-up.
City looked to respond immediately, with Flint turning nicely and firing a low drive narrowly wide.
But Reading increased their lead in the 19th minute when McCleary released Chris Gunter on the right flank.
Gunter's lobbed pass was met first time by Beerens, who drilled a fierce left-footed volley past the helpless Fielding.
The visitors then enjoyed their best spell, with home goalkeeper Ali Al Habsi saving well from Bobby Reid and Lee Tomlin shooting just over.
And they made a strong start to the second half, too, with Abraham storming through the home defence only to blaze his attempt over the crossbar.
Abraham then fed O'Neil, who tested Al Habsi with a low drive.
As the game opened up, Jamie Paterson was off target for City with a 20-yard attempt and McCleary forced a fine stop from Fielding after he had cut in off the right wing.
O'Neil rifled in a shot three minutes from the end after a goalmouth scramble but Reading, having conceded for the first time in 447 minutes, still held on reasonably comfortably.
Source : PA