Championship top scorer John Swift produced more magic as his free-kick and a double from Tom Dele-Bashiru gifted Reading three points over Peterborough United.
After a turgid first hour of football, the game burst into life as Swift hit a stunning set-piece that was followed up quickly by Dele-Bashiru who netted his first Reading goal.
The Posh replied with a goal of their own in the 74th minute but Dele-Bashiru hit a fierce drive past the keeper in the 89th minute to seal the points for the Royals.
Veljko Paunović made one change from Reading’s 3-3 draw with QPR as goalkeeper Rafael Cabral, who missed out with a broken hand, was replaced by Luke Southwood in just his second Championship start.
Reading had the majority of early possession as Alen Halilović and George Pușcaș linked up well, but couldn’t conjure a meaningful attack.
It was the visitors who had the first presentable opportunity of the evening as they won a free-kick 25 yards from goal.
Jordan Clarke-Harris took aim but hit his shot straight into the Reading wall.
John Swift played a perfectly played cross field switch to find Andy Yiadom on the right-wing. He played the ball to Tom Dele-Bashiru who spun into the box and got a shot away but Christy Pym collected comfortably.
The game went flat as neither side could forge out any decent chances, while Southwood was quick off his line to prevent a through ball causing any danger to his defence.
Yiadom surged forward again on the wing and was well found by Josh Laurent, but his drilled cross in the middle was quickly cleared by the Peterborough back line.
Despite having less of the ball, the Posh came closer to scoring than the hosts as Sikiri Dembele unleashed a testing effort that forced a smart save from Southwood who dived to his left to keep the score goalless.
Reading replied with a long ranged effort of their own as Halilović lined up a shot from 25 yards but a Peterborough body managed to get in the way and divert it behind for a corner.
The Posh must have thought they had taken the lead on the stroke of half-time when Ollie Norburn hit a sweetly struck volley but Southwood pulled off a magnificent save at full stretch to tip the ball over the top.
The half ended with a yellow card for Peterborough’s Frankie Kent, while Royals skipper Liam Moore was forced off with injury and replaced by Tom Holmes.
Peterborough had the first half-chance after the break as Joel Ward tried a curling effort, but it sailed harmlessly wide.
Darren Ferguson’s side maintained their threat and almost found Clarke-Harris with a backheel through on goal, but Holmes made a vital interception to clear for a corner.
The game finally burst into life as Swift came to the rescue for the Royals once again in the 64th minute.
With a free-kick lined up 25 yards from goal, the Reading midfielder hit a sumptuous strike that flashed past Pym into the top corner to score his seventh Championship goal of the season.
With momentum now firmly on their side and the crowd brought into life, the Royals took advantage and struck a second goal quickly after.
Puscas’ ball across the box found Dele-Bashiru who composed himself before he drilled a shot into the bottom corner to net his first goal in Reading colours.
But the game wasn’t done as the Posh hit back with a reply in the 74th minute.
The Royals conceded from yet another set-piece as Peterborough captain Nathan Thompson nodded in at the back post.
Peterborough applied some pressure as they threw bodies forward in hope of finding an equaliser, but to no avail as Reading won their second Championship match of the season.
The Royals travel away to face second placed Fulham on Saturday.
Reading: Southwood, Yiadom, Morrison, Moore (c), Rahman, Laurent, Dele-Bashiru, Swift, Halilovic, Ejaria, Puscas
Subs: Boyce-Clarke, Holmes, Tetek, Hoilett, Camara, Ehibhatiomhan, Clarke
Peterborough: Pym, Edwards, Butler, Thompson (c), Kent, Clarke-Harris, Dembele, Marriott, Norburn, Coventry, Ward
Subs: Cornell, Szmodics, Taylor, Grant, Knight, Poku, Tomlinson
Goals: Swift 64, Dele-Bashiru 67′, 89′, Thompson 74′