The Lilywhites advanced to the third round of the Capital One Cup after knocking out Premier League side Watford.
Defender Marnick Vermijl established an early lead for the home side inside eight minutes, guiding the ball past keeper Giedrius Arlauskis after Josh Brownhill’s initial shot was blocked.
Watford’s first effort on target came with around 15 minutes remaining, Jordan Pickford just managing to tip Ben Watson’s arrowing shot from the edge of the box, over the bar.
A minute later and the visitors were down to ten men, Miguel Britos receiving a second yellow card for an elbow on Bailey Wright.
The Hornets made eleven changes to the team which featured during the 0-0 draw against Southampton at Vicarage Road on Sunday.
Preston North End manager Simon Grayson said: “despite them making a lot changes, they’re a Premier League side and we were worthy winners in my opinion.”
PNE were on the front foot from the first whistle, Joe Garner taking aim with a low shot from just outside the box which deflected behind for a corner.
All the play was directed around Watford’s area in the opening stages before Vermijl capitalized, slotting the ball home from six yards after Brownhill’s blocked attempt diverted his way.
17 minutes played and North End could have had a penalty when Garner looked to latch onto Neil Kilkenny’s cross but was bundled over by Nathan Ake.
Moments later and Garner, who was causing Watford real problems, was pushed in the back by Gabriele Angella but once more referee Stephen Martin waved play on.
At the other end and Ake had the chance to play a telling cross, after a neat pass in behind Tom Clarke, but his attempt sailed high and wide.
Approaching the half-hour mark and the visitors were still unable to test Pickford, Matej Vydra trying an acrobatic volley from outside the box which sailed straight over the bar.
A few minutes later, Alan Browne was booked for upending Vydra on the half-way line as Watford looked to break on the counter following a PNE corner.
Shortly after and Fernando Forestieri wasted another chance for the away side, sending a free-kick distance near the far touchline, straight into the Alan Kelly stand.
Vydra received a yellow card after hammering the ball down the field following Ake’s challenge on Vermijl near the halfway line.
Four minutes before half-time and another Watford player was booked, this time Britos being cautioned for his foul on Brownhill also near the halfway line.
Just before the interval and Garner made an importance clearance in the box, heading away Almen Abdi’s corner after Pickford was in no man’s land.
With almost the last kick of the half, Miguel Layun unleashed a powerful strike from distance, but the ball just edged over the cross bar.
Into the second half and Kyel Reid raced down the far side before attempting to pull a cross back to Garner but the ball just sailed over the PNE striker.
52 minutes played and Garner stung the palms of Arlauskis, driving a shot across the ground from outside the box.
Five minutes later and Reid shrugged off Ake, chinked inside Juan Carlos Parades before fizzing a low shot just past the post.
Into the last quarter of the match and Pickford was called into action for the first time, diverting Ben Watson’s powerful effort from outside the box, over the bar.
The match went from bad to worse for the Hornets a minute later as Britos was shown a second yellow card, after elbowing Wright before the corner-kick.
With ten minutes remaining, Arlauskis was almost caught out when Garner’s shot took a wicked deflection off Angella, but the Watford keeper just about palmed the ball round the post.
Two subs almost combined with two minutes remaining, Chris Humphrey sprinting down the near side before attempting to find Jermaine Beckford but the pass was just too heavy.
Abdi had a late chance to force the game to extra-time, but his free-kick was directed too close to Pickford and PNE ran out deserved victors.
The reward for Simon Grayson’s men in the fourth round is another Premier League side in Bournemouth to be played at Deepdale.
PNE: Pickford, Clarke (c), Woods, Kilkenny, Wright, Huntington, Vermijl, Browne, Garner (Beckford, 85), Brownhill, Reid (Humphrey, 85). Subs not used: Pickford, Johnson, Gallagher, Welsh, Davies.
Watford: Arlauskis, Britos, Angella, Vydra, Forestieri, Parades, Ake, Layun, Abdi (c), Watson, Smith (Berghuis, 60). Subs not used: Gilmartin, Pudil, Belkalem, Hoban, Dyer.
Referee: Stephen Martin (Staffordshire)