The Royals earned a point from a trip to Preston but a missed penalty denied us all three at Deepdale.
Scott Sinclair tested Rafael's handling within the opening minute, taking aim from 25 yards out but the Royals stopper down well to push it round his left post.
North End were enjoying the early pressure and Richards did well to hack an uncleared cross away from danger at the second attempt.
Just after the quarter hour mark, Holmes fed Aluko inside the Preston box and he nearly bundled his way through a challenge to earn a shooting opportunity, a North End leg getting enough on it to halt Sone in his tracks.
Swift forced Daniel Iversen into a neat save low to hi right with a set piece that was swept goalwards from more than 25 yards out.
At the other end though, Potts came close when he collected a cut back on the corner of the six yard box, palmed off Morrison to turn and shoot over the crossbar.
Reading threatened from a couple of deliveries from the right, McIntyre getting his head to a deep cross from Swift that was hoofed clear before a Reading body could look to turn it goalwards.
Swift rippled the side netting with a free kick that beat Iversen but whistled just the wrong side of the left upright and an unintentional Alan Browne handball inside the box went unnoticed as Reading began to build some pressure.
Potts lashed harmlessly over the bar after Laurent scuffed a cleared corner to the forward. But Laurent was asking questions of Iversen as we approached half-time, collecting the ball from Joao's lay-off and placing a shot towards the bottom right corner only for the North End stopper to push it wide.
The home side very nearly broke the deadlock moments later though - a low cross coming in from the left, Richards brilliantly blocking the inital shot and then a combination of Rafael's save and McIntyre's hurried clearance denying Riis the opener from close range.
On the stroke of half-time, and Ejaria cross from the left flashed across the Preston goalmouth but no-one could get a touch. Goalless at the break.
Half-time: Preston North End 0-0 Reading
With six minutes of the second half played, Iversen made a very good save at his near post to turn an Ejaria drive around his post - Joao had controlled a long ball and driven towards the edge of the box before slotting in Ejaria who was unlucky not to break the deadlock.
From the resultant corner, McIntyre flicked the delivery goalwards but it spiralled over the bar and onto the roof of the net.
Then Aluko was denied by Iversen, turning on the edge of the area and arrowing an effort at goal that the Preston stopper did very well to fingertip over his bar.
The Royals had come out of the traps the faster at the start of the second period, but Rafael had to make sure a sliced cross didn't drop under the crossbar, cautiously pushing it behind for a corner.
Holmes won a corner as he looked to run onto a deflected cut back one-two and the short corner was beautifully delivered by Aluko. It floated just beyond Joao and McIntyre turned it goalwards only for Iversen to claw it off his line and the linesman to signal offside against the centre-half.
A Swift corner was headed clear with Joao closing in, but the time was ticking away and one goal looked like it would decide it.
With nine minutes remaining, Reading were given a golden chance to get that goal. Swift's curling cross looked to find Joao bearing down on it at the back post but he was being wrestled over and the referee, after a long pause, pointed to the spot. Joao stepped up and dragged his effort wide of the bottom left corner though.
Reading toiled for another opportunity and Ejaria cit in down the left on the counter attack but couldn't make anything of the chance before being dispossessed.
And the home side hung on for a point.
Full-time: Preston North End 0-0 Reading
Preston North End: Iversen, Davies, Browne (c), Rafferty, Whiteman, Ledson, Molumby (Johnson 79), Jakobsen, Huntington, Sinclair (Evans 85), Potts.
Unused subs: Ripley, Fisher, Bayliss, Gallagher, Baxter, Evans, Barkhuizen, O'Reilly.
Yellow: Molumby, Whiteman.
Reading: Rafael, Holmes, Richards, McIntyre, Morrison, Rinomhota, Laurent, Swift, Ejaria, Aluko (Semedo 77), Joao.
Unused subs: Southwood, Esteves, Gibson, Tetek, Camara, Olise, Onen, Baldock.
This match report was brought to you by WHATJOBS. Learn more at www.WHATJOBS.com