Reading suffered their first home defeat of the season as second half goals from Scott Sinclair and Emil Riis Jakobsen and Tom Barkhuizen made it back to back losses for the Royals.
Sinclair, a familiar foe to the Royals after his hat-trick against Reading in the 2011 play-off final, opened the scoring before Jakobsen and Barkhuizhen scored after Daniel Johnson had a penalty saved from Rafael early in the second half.
Despite two consecutive defeats, Reading are still top of the Championship with a three point lead over Swansea City.
Injured skipper Liam Moore was replaced in the starting eleven by Tom McIntyre, while Rafael was handed the captain’s armband.
Meanwhile, Andy Yiadom made a return from injury to feature on the bench for the first time this campaign.
Preston were stronger in the opening minutes of the game and went close when Brad Potts scuffed a first timed shot wide after Michael Morrison could only clear to the edge of the box after two minutes.
Morrison had to be switched on at the back and take charge at the back with the absence of Moore as he headed away a couple of dangerous crosses in the box.
Reading won their first corner after 18 minutes when Lucas Joao held up the ball well on the halfway line and sprayed a ball out wide to Sone Aluko who tricked his way into the box, before his cross bounced behind off a defender.
The Royals tried a short corner routine which didn’t pay off as Preston were organised to press them back.
Veljko Paunovic expressed his frustration at the referee with some choice words after he awarded Preston a free kick on the edge of the box after a challenge from McIntyre.
Alan Browne lined up from the free kick but fired a shot harmlessly over the bar.
Reading forged their first good sight of goal in the 27th minute when Aluko’s inswinging cross found Joao who powered a header at goal which forced a smart save out of Declan Rudd.
In the 34th minute, Aluko came close to scoring a stunning solo goal. He brought the ball down neatly in the box and flicked the ball one way and then the other to fool his marker but his close range effort was blocked by Rudd.
Michael Olise and Aluko had begun to stamp their creative influence on the game as the Royals took charge of proceedings late on in the half, but the team’s went in to the break deadlocked at 0-0.
Reading made a disastrous start to the second half as McIntyre conceded a penalty just three minutes in when he slid in from behind on Emil Riis Jakobsen in the box and didn’t get enough of the ball.
Daniel Johnson stepped up to the spot but captain for the night, Rafael, flew to his right and guessed the right way to make the save and prevent Reading from going behind.
Lucas Joao had two big chances to break the deadlock. He burst away from the Preston defence and just as he looked poised for a one on one with the keeper, Jordan Storey made a superb last ditch sliding tackle to steal the ball from his feet.
Just moments later Alfa Semedo curled a cross into the box to find Joao but he glanced his header just wide.
The chances kept coming, but this time for Preston as Rafael came to the rescue again with a point blank save from Potts at the back post as he looked to bundle in a cross from Ryan Ledson.
Just as Reading had looked the more likely to go in front, they fell behind as Scott Sinclair broke behind the defence and finished past Rafael.
It looked as if Sinclair may have strayed offside but the flag stayed down and despite Reading’s appeals, the goal stood.
And it wasn’t long before Preston doubled their lead. A long ball found Riis Jakobsen who slotted the ball past the keeper to seal a quickfire double for the visitors.
George Puscas, Sam Baldock and Yiadom were all brought on to try and rescue something for the hosts.
Tempers flared late on a a rash challenge saw players from both teams square up to each other, with Reading venting their frustrations.
Puscas had a chance to get Reading back in the contest late on when he met Richards’ back post cross but could only head it wide of the mark.
And Preston put the game to bed in stoppage time when Tom Barkhuizen applied the finishing touch after Potts raced forward to catch Reading on the counter.
Reading host Stoke City on Saturday (12.30 kick off) in front of the Sky Sports cameras.
Reading: Rafael, Esteves, McIntyre, Morrison, Richards, Rinomhota, Laurent, Semedo, Aluko, Olise, Joao.
Subs: Walker, Yiadom, Gibson, Watson, Tetek, Baldock, Puscas
Preston: Rudd, Fisher, Browne (c), Johnson, Storey, Rafferty, Ledson, Riis, Huntington, Sinclair, Potts
Subs: Ripley, Earl, Gallagher, Harrop, Barkhuizen, Maguire, Stockley
Goals: Sinclair 64′, Jakobsen 68′, Barkhuizen 90+2′