Four goals in the last eight minutes gave this game a thrilling ending for the Preston fans who celebrated their highest win of the season against the last team to beat them.
Double delight came from the fact that Preston have now gone 24 games unbeaten.
Lewis Neal made it 1-0 to Preston after 20 minutes after a long ball by Youl Mawene was flicked on by David Nugent and Neal beat Markus Heikkinen before hitting a 15-yard shot into the bottom corner of the net.
David Bell had a header saved by Carlo Nash and Steven Howard was booked for a foul on Paul McKenna.
Chris Coyne went off injured after 41 minutes and was replaced by Leon Barnett.
Luton boss Mike Newell was sent off for dissent just before half-time.
Nugent made it 2-0 with a glancing header into the bottom right-hand corner of the net after a Chris Sedgwick cross.
Rowan Vine had a shot saved by Nash and both teams made all their substitutes.
In 82nd minute, Ahmet Brkovic had a shot which hit the bar and the ball unluckily hit Preston defender Tyrone Mears on the back and went into the net for an own goal.
However, Mears went up the other end and scored to make it 3-1 to Preston a minute later from a Patrick Agyemang cross.
Simon Whaley was booked for a foul on Kevin Foley and then Mears raced through again and lobbed Marlon Beresford but was brought down by the keeper.
The ball was cleared off the line but the referee award a penalty to Preston and sent off the Luton keeper.
Kevin Nicholls had to go into goal for Luton as they had used all their substitutions.
Sedgwick took the penalty and sent the keeper the wrong way to make it 4-1.
Three minutes were added and Preston had time for another goal when Claude Davis hit the rebound from Mears' shot, which Nicholls could only parry into the back of the net to make it 5-1.