Alan Browne and Tom Barkhuizen were on target as promotion-chasing Preston secured a 2-0 Sky Bet Championship win at Stoke.
Preston boss Alex Neil's first visit to the Bet365 Stadium since spurning Stoke's advances earlier in the season proved to be a positive one as his side closed the gap on the automatic places to three points.
Stoke have improved under Michael O'Neill's guidance since their public pursuit of former Norwich boss Neil but will need to be more clinical going forward in order to remain clear of the relegation places.
Preston dominated possession in the opening stages but neither side threatened to break the deadlock until the 25th minute, when James McClean laid the ball off for Sam Clucas, whose low effort from 20 yards was cleared off the line by Lilywhites defender Ben Davies.
Two minutes later Tyrese Campbell cut in from the right and curled an effort towards the top corner, only for Preston goalkeeper Declan Rudd to deny him with an outstanding full-stretch save.
A minute later Campbell and Nick Powell were crowded out from Tommy Smith's low cross and Rudd clawed away a Danny Batth header from Smith's free-kick after 34 minutes as the hosts finished the first half strongly.
Stoke remained dominant after the interval and Campbell should have opened the scoring after 56 minutes. Clucas' free-kick was headed down by Batth and Campbell's shot on the turn from 12 yards flashed inches wide of the post.
Instead Preston went ahead two minutes later with their first shot on target. Johnson's corner ricocheted off Davies and Browne reacted fastest to poke home from inside the six-yard box.
Moments later Darnell Fisher's foul on Nick Powell sparked a mass brawl, with McClean and Ben Pearson booked for their roles in the chaos.
Substitute Sam Vokes headed straight at Rudd as the hosts pressed for an equaliser, while at the other end Barkhuizen was denied by Jack Butland.
But Barkhuizen doubled Preston's lead 15 minutes from time, with Davies' aerial presence again causing problems as he nodded Paul Gallagher's cross down for the former Morecambe forward to stroke home.
Stoke huffed and puffed in the closing stages but were unable to find a way through a well-drilled North End defence.