Match ends, Bristol City 2, Reading 0.
Bristol City climbed two places to second in the Championship table with two second-half goals to beat Reading.
Jamie Paterson broke the deadlock on 68 minutes with a superb right-footed shot into the top right corner.
Lloyd Kelly sealed victory in the third minute of injury time with a deflected shot which also found the top corner.
City are in the automatic promotion places, eight points behind Wolves, due to Cardiff's home loss to Fulham and Derby's failure to win at Hull.
After a first half in which neither goalkeeper had to make a save of note, it was a different story after the interval.
Following Paterson's third goal in five matches - his sixth of the season - from Bobby Reid's lay-off, there could have been more home goals to rubberstamp Reading's third straight defeat for the first time under boss Jaap Stam.
Reading keeper Vito Mannone had to keep Jaap Stam's men in it with two fine saves, although City keeper Frank Fielding also had to make a brilliant save on his line to keep out Modou Barrow's close-range shot.
But, after replacing Paterson in added time, teenager Kelly wrapped up the points with another fierce shot from just inside the box - his first goal for the club.
Carabao Cup semi-finalists City's rise in the table means that their next game is now a top-of-the-table second v first clash with leaders Wolves at Ashton Gate this Saturday (30 December, 17:30 GMT).
Bristol City manager Lee Johnson told BBC Radio Bristol:
"I was worried that this game might be the one where it all caught up with us, but the boys were fantastic.
"They nullified us in the first half, which was a bit of a damp squib in the rainy conditions. But we were excellent second half and could have scored three or four. We could have conceded a couple too and we'll have to tighten up on that as, against Wolves next up, they'll be in the the back of the net.
"The boys are absolutely buzzing for Lloyd Kelly. I felt we needed somebody that could play left-back as well the way they were throwing caution to the wind. He wellied two out of the stadium then he put one in the back of the net."
Reading manager Jaap Stam told BBC Radio Berkshire:
"It's about conceding and scoring goals yourself. They scored two, we don't score and we don't get any points.
"You can't say one team was really the better side. The confidence is there. We just give away stupid goals and sometimes you need that bit of luck to score.
"Liam Kelly wasn't feeling well so didn't travel and we needed to take out John Swift as we need to make sure he'll be fit for the rest of the months ahead."
- 6BakerBooked at 31minsSubstituted forPatersonat 49'minutesSubstituted forKellyat 90'minutes
- 21PackBooked at 38mins
- 10TaylorSubstituted forWoodrowat 63'minutesBooked at 82mins
- 19BacunaBooked at 72minsSubstituted forMcClearyat 75'minutes
- 4van den Berg
- 8EvansSubstituted forBeerensat 85'minutes
- 14AlukoBooked at 30mins
- 23BödvarssonSubstituted forKermorgantat 75'minutes
- Oliver Langford
- Shots on Target
Second Half ends, Bristol City 2, Reading 0.
Foul by Yann Kermorgant (Reading).
Cauley Woodrow (Bristol City) wins a free kick in the defensive half.
Goal! Bristol City 2, Reading 0. Lloyd Kelly (Bristol City) left footed shot from the centre of the box to the top right corner.
Attempt saved. Josh Brownhill (Bristol City) right footed shot from the centre of the box is saved in the top left corner. Assisted by Cauley Woodrow.
Attempt saved. Modou Barrow (Reading) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Paul McShane.
Foul by Chris Gunter (Reading).
Bobby Reid (Bristol City) wins a free kick in the defensive half.
Substitution, Bristol City. Lloyd Kelly replaces Jamie Paterson because of an injury.
Attempt saved. Modou Barrow (Reading) left footed shot from the centre of the box is saved in the bottom left corner. Assisted by Garath McCleary.
Attempt blocked. Roy Beerens (Reading) right footed shot from outside the box is blocked.
Foul by Cauley Woodrow (Bristol City).
Liam Moore (Reading) wins a free kick in the defensive half.
Attempt blocked. Roy Beerens (Reading) left footed shot from outside the box is blocked.
Substitution, Reading. Roy Beerens replaces George Evans.
Corner, Bristol City. Conceded by Garath McCleary.
Attempt saved. Bobby Reid (Bristol City) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Jamie Paterson with a through ball.
Attempt saved. Josh Brownhill (Bristol City) right footed shot from the right side of the box is saved in the bottom right corner. Assisted by Cauley Woodrow.
Foul by Liam Moore (Reading).