Goals from Scott Sinclair, Billy Bodin and Josh Harrop gave North End the win, despite Ashley Hunter levelling things up for the home side.
Salford had the first shot on target in the game, Ian Henderson volleying on the turn on his left foot, though his shot didn't have much power behind it and Conor Ripley was able to drop his body on it.
That effort was shortly followed by a fine strike from Brandon Thomas-Asante who made half a yard of space before hitting it powerfully towards goal at Ripley's near post, which the PNE stopper turned behind.
Salford were again the side to create a chance at goal, Jason Lowe going past Alan Browne with ease before trying to find the far corner with the outside of his left boot to no avail.
It was nearing the 20 minute mark when Preston had their first shot of the game, Tom Bayliss dragging his effort wide from around 25 yards out.
Preston would break the deadlock just minutes later, Sean Maguire getting down the left skipping past his man, squaring it into the middle of the area which saw Daniel Johnson's shot blocked. The ball fell towards Sinclair who shielded it well before poking it past Hayes into the far corner.
North End doubled their lead shortly after, a lovely flowing move between the forwards finished off by Bodin swept the ball into the back of the net.
The home side tried to find their way back into the game, Henderson first crossing just in front of Ashley Hunter who had the net waiting before Thomas-Asante received a cut back but placed it past the far post.
Salford halved the deficit just before the half hour mark, first Henderson seeing his shot saved by Ripley before Hunter volleyed from close range on his left foot underneath Ripley at his near post.
Just before the break PNE had the ball in the net again but it was ruled out for offside, Ryan Ledson's long ball forward was headed on well by Andrew Hughes and Maguire latched onto the flick on to finish well across goal.
There were no changes to either side at half time but just seconds into the second half, Thomas-Asante headed towards goal but couldn't find the target.
North End's first chance of the second half came from a Bodin corner, which Jordan Storey headed high and wide.
Hayes in the Salford goal was forced into a save a few minutes later, the ball laid back to Ledson who dove an effort at goal but straight at the City stopper.
The home side almost found themselves level thanks to the visitors, a cross into the box headed by Patrick Bauer towards his own goal which ricocheted off the crossbar and over.
At the hour mark PNE changed their entire XI, only Ethan Walker and Adam O'Reilly remaining on the bench.
PNE's lineup for the final 30 minutes: Hudson, Rafferty, Huntington, Davies, Earl, Pearson, Gallagher, Barkhuizen, Potts, Harrop, Stockley.
North End's new XI had a chance shortly after coming onto the pitch,Tom Barkhuizen releasing Brad Potts down the right side of the area, his effort finding the side netting.
Matt Hudson sent PNE on the counter attack after claiming a free kick, Harrop drove down the right wing before being cut down by Hunter, who picked up the game's first yellow card.
Jayden Stockley had his first shot off the bench 15 minutes from the end, receiving the ball from Barkhuizen before striking on his left foot off balance, dragging the effort harmlessly wide.
The target man had another chance five minutes later, the ball rolled back to him towards the edge of the box but the ball ended up high behind the goal.
Again it was North End's no.20 who tried his luck next, North End winning the ball high up the pitch before it was played into the 26-year-old whose first time effort was off target.
After knocking on the door, Preston had their third. Ben Pearson winning the ball in midfield and driving up the pitch, Potts received it down the right whose cross was pinpoint to find Harrop in the middle who volleyed the ball home with less than five minutes to go.
Salford almost halved the deficit again just moments later, Hunter's free kick headed over inside the six yard box by Jordan Turnbull.
PNE Starting XI: Ripley, Browne, Bauer, Storey, Hughes, Ledson, Bayliss, Bodin, Johnson, Sinclair, Maguire.
PNE Subs: Hudson, Earl, Huntington, Davies, Rafferty, Pearson, Gallagher, Harrop, Potts, Baxter, O'Reilly, Walker, Barkhuizen, Stockley.
Salford City XI: Hayes, Threlkeld, Clarke, Eastham, Touray, Lowe, Gibson, Towell, Thomas-Asante, Henderson, Hunter.
Salford City Subs: Evans, Golden, Turnbull, Jones, Denny, Hawkins, Armstrong, Andrade.