A late goal from James Collins gave Luton Town the three points at Deepdale.
The Lilywhites made five changes to the side that faced Middlesbrough in midweek; Andrew Hughes out with injury, with Ryan Ledson back, the No.18 having missed all the games since the win at Blackburn.
And the hosts started brightly and could have had a penalty after only 12 seconds, Kal Naismith seemingly bringing down Ched Evans on the right-side of the penalty area, but first time Championship referee Thomas Bramall waved play on.
Nathan Jones’ men were restricted to a couple of deflected shots in the first half, Elijah Adebayo seeing his effort blocked by Jordan Storey.
But another penalty shout for PNE was dismissed after a dozen minutes. Again, Evans was the man at the heart of the incident, Matty Pearson dragging the frontman’s arm back as he ran through – only for the match official to once again wave away the claims.
Evans had a header blocked by Naismith at the mid-point of the half, from Sepp van den Berg’s cross, and the on loan Liverpool defender got up to meet Ledson’s right-wing corner, but the effort flashed over the bar.
Right on half-time, Daniel Iversen was required for the first time, making a good save, down low to his right, to palm away a deflected shot from Pelly Mpanzu.
The second half saw North End start brightly, and on 55 minutes, good pressure from PNE saw Scott Sinclair seeing two shots blocked after good runs from the right – Ben Whiteman, Daniel Johnson, van den Berg and Ledson all involved in the build-up.
A minute later, Adebayo saw a header palmed away by Iversen after ball in from James Bree, with Joe Rafferty – who had come in for Hughes - cleaning up.
With just less than 20 minutes left, a brilliant save by the Hatters’ keeper Simon Sluga denied Evans the opener. It came from a ball in from substitute Sean Maguire, who fed through to the Welshman, only for his shot to be smothered for a corner.
And the winner came with seven minutes left, as Mpanzu’s right-wing corner was met by Kiernan Dewsbury-Hall, with Iversen making a fine stop, only for the ball to be squeezed in from the byline by James Collins, off the North End stopper.
With Brad Potts, Billy Bodin and Paul Gallagher all added to the attacking options, Tom Barkhuizen – who had come on with Maguire – launched a long throw into the box with a couple of minutes left and Jordan Storey got a flicked header onto the ball. Sluga again saved, with the ball falling to Maguire, but he was unable to keep his shot down and Luton held on for the win.
PNE line-up: Iversen, van den Berg, Rafferty, Ledson (Gallagher, 86), Storey, Lindsay, Sinclair (Maguire, 67), Whiteman, Evans (Potts, 82), Johnson (c) (Bodin, 81), Gordon (Barkhuizen, 67). Subs not used: Ripley, Riis, Molumby, Huntington.
Luton Town line-up: Sluga, Tunnicliffe (Ince, 71), Pearson, Cornick (Collins, 77), Rea (c), Mpanzu, Clark, Dewsbury-Hall, Naismith, Bree, Adebayo (Cornick, 76). Subs not used: Shea, Cranie, Berry, Lockyer, LuaLua, Morrell.
Referee: Mr T Bramall