Match ends, Preston North End 0, Reading 0.
Lucas Joao missed a late penalty as promotion-chasing Reading were held to a frustrating goalless draw at Preston in the Championship.
The Royals' top scorer swept his spot-kick inches wide of the left-hand post after he had been brought down by Joe Rafferty.
Preston went closest in a hard-fought first half as Emil Riis Jakobsen stabbed goalwards in a crowded six-yard box, but keeper Rafael Cabral was down quickly to block.
Ovie Ejaria forced home keeper Daniel Iversen to turn his close-range strike around the post as Reading improved after the break, but without finding a way through.
Reading knew victory would have lifted them into fourth and level on points with second-placed Swansea and Watford in third, but struggled to break down a resilient Lilywhites defence, which earned a fifth clean sheet in their past seven league games.
Disciplined defences were the story of an even first half, with chances on goal limited to long-range attempts, Cabral pushing away Scott Sinclair's low drive within 40 seconds.
John Swift's free-kicks carried Reading's biggest threat, forcing Iversen to push an audacious effort to safety before hitting the side netting with a dipping, curling strike.
Iversen had to tip Sone Aluko's powerful hit over the bar as the visitors came out after the break with intent, but Veljko Paunovic's side were unable to turn their dominance into gilt-edged chances.
The home defence did well to keep Joao quiet, but the Portuguese striker looked set to make it nine goals in as many games when he was wrestled to the ground by Rafferty, only to cap a frustrating afternoon by firing the penalty wide.
Alex Neil's side remain in 10th after their first draw in 10 matches, while Reading extended their unbeaten league run to five matches, but stay fifth.
Preston manager Alex Neil:
"We started the game extremely well for the first 15 to 20 minutes and they looked their most dangerous from set plays and free-kicks.
"Defensively we were really strong. I can't think of too many opportunities they had throughout the match.
"I think the penalty is a tough one. It was one of those ones where the initial contact comes from Joao but probably not enough to be a free-kick to us. The more the move develops then it looks more and more like a penalty to them.
"We lacked a little bit of cutting edge and it certainly wasn't because we didn't commit enough men forward. We just really didn't have enough quality and guile to damage."
Reading boss Veljko Paunovic:
"With Lucas, when he scores and when he misses we give him support. It happens in football.
"But it is also true that maybe he contributed to himself and his mood when he took the penalty. Very early in the game he was disappointed because of the way that things were developing on the field.
"We're disappointed and frustrated but I always use these disappointments to channel it into the next game and next opponent in a positive way. The team played very well in the second half."
- 23HuntingtonBooked at 82mins
- 18LedsonBooked at 87mins
- 17WhitemanBooked at 87mins
- 31SinclairSubstituted forEvansat 86'minutes
- 21MolumbyBooked at 65minsSubstituted forJohnsonat 80'minutes
- 19Riis JakobsenSubstituted forBarkhuizenat 70'minutes
- 33Cabral Barbosa
- 24AlukoSubstituted forSemedoat 77'minutes
- 18Lucas João
- 2Pontes Esteves
- Geoff Eltringham
- Shots on Target
Second Half ends, Preston North End 0, Reading 0.
Ben Davies (Preston North End) wins a free kick in the defensive half.
Foul by Alfa Semedo (Reading).
Benjamin Whiteman (Preston North End) is shown the yellow card for a bad foul.
Ryan Ledson (Preston North End) is shown the yellow card for a bad foul.
Foul by Ryan Ledson (Preston North End).
John Swift (Reading) wins a free kick in the attacking half.
Substitution, Preston North End. Ched Evans replaces Scott Sinclair.
Benjamin Whiteman (Preston North End) wins a free kick in the defensive half.
Foul by Lucas João (Reading).
Alan Browne (Preston North End) wins a free kick in the defensive half.
Foul by Josh Laurent (Reading).
Penalty missed! Bad penalty by Lucas João (Reading) right footed shot is close, but misses to the left. Lucas João should be disappointed.
Paul Huntington (Preston North End) is shown the yellow card.
Penalty conceded by Joseph Rafferty (Preston North End) after a foul in the penalty area.
Penalty Reading. Lucas João draws a foul in the penalty area.
Substitution, Preston North End. Daniel Johnson replaces Jayson Molumby.
Attempt missed. Jayson Molumby (Preston North End) header from the right side of the box is close, but misses to the right. Assisted by Joseph Rafferty with a cross.
Attempt missed. Omar Richards (Reading) right footed shot from outside the box is high and wide to the right following a corner.