A goal in the first couple of minutes of either half put Mick McCarthy’s Bluebirds on the road to the points at the Cardiff City Stadium.
A penalty in the first minute of the match, converted by Kieffer Moore, and then a low shot from Josh Murphy in the first 30 seconds of the second period put the home side 2-0 up.
Two penalties in the space of two minutes gave North End the chance to get back in the game, but home goalkeeper Dillon Phillips saved from both substitute Paul Gallagher and Ched Evans in an astonishing couple of minutes just after the hour mark, but within minutes of the scoreline possibly going to 2-1, Marlon Pack scored from close range to tie up the win for the Welsh side.
They added a fourth through substitute Mark Harris, just seconds after coming on, as the earlier double stop by Phillips proved decisive.
The Lilywhites reverted to the 3-5-2 formation that was successful at Blackburn Rovers eight days previously, with Greg Cunningham – against his former club – and Emil Riis coming into the starting line-up.
But within a minute, they were facing a penalty. Referee Jeremy Simpson pointed to the spot after a long throw in by Will Vaulks from the left and he adjudged there was a foul on home skipper Sean Morrison.
Welsh international Moore stepped up and fired into the top right-hand corner, the third game in a row Daniel Iversen had ended up facing a spot kick.
The ’keeper was called upon shortly after to make a fine stop, denying Morrison this time, after his header from Harry Wilson’s free kick on the right-hand channel 40 yards out found the head of his captain 12 yards out.
North End began to get a foothold in the game though, and as the half went on, they had more and more possession, the best chance coming after a good period of play, working the ball well with Cunningham crossing from the left and Ched Evans meeting it with a header under pressure from Curtis Nelson, but the effort was straight at Phillips.
A change at the interval saw Tom Barkhuizen replace Riis in attack for Alex Neil’s men in the green third kit.
But within 25 seconds of the second half getting underway, they were 2-0 behind. The ball was turned over in the opposition’s half and Harry Wilson raced down the right-hand side and then fed it across to opposite side forward Murphy on the left, who drove towards the box and slid the ball past Iversen into the bottom right-hand corner from 15 yards.
With 58 minutes on the clock, a Ben Whiteman corner from the right, conceded by Joe Bennett, was met deep by Alan Browne, heading towards the top left corner of the goal until Phillips tipped it over the bar.
A double-change saw Anthony Gordon and Gallagher brought on, on the hour mark, with the Everton loanee joining Evans in attack, Alan Browne going into the midfield, and Barkhuizen tucked in at right wing back.
And North End had a penalty of their own on 64 minutes, as Molumby sent Gordon into the box and Harry Wilson, the Liverpool loanee, brought down the Everton man.
What followed was quite amazing. Gallagher went up and took it, Phillips dived to his right and saved it, but as Gallagher went to follow in, Aden Flint put in a strong challenge on North End's No.12, which saw him cautioned while conceding a second penalty!
This time Ched Evans stepped up to take it, but again Phillips saved it, this time down to his left and the home side were able to get it clear.
And PNE were punished in the 71st minute as Pack converted after substitute Sheyi Ojo crossed from the right, Iversen made a fine stop to deny a diving header from Moore, but Pack followed in to net from inside the six-yard box.
Another change saw Brad Potts replace Jayson Molumby, and the No.44 quickly had a chance to give the visitors hope after an excellent run by Gordon, who drove to the byline and cut it back to the substitute, who then drilled a shot just over the bar.
It was 4-0 with 13 minutes left when a loose ball was picked up by Harris, who had been on the pitch for a matter of seconds, he rounded Iversen and fired into the empty net.
Phillips was again the man of the moment with five minutes left, this time standing up strongly to make a fine stop to deny Barkhuizen, after an excellent defence-splitting ball from Gordon had sent him away into the right side of the penalty area, and that proved the last chance of the game.
Cardiff City line-up: Phillips, Bennett, Morrison (c), Flint, Vaulks, Moore (Harris, 77), Murphy (Ojo, 60), Nelson, Pack, Wilson (Bacuna, 69), NG. Subs not used: Smithies, Williams, Watters, Sang, Brown, Bagan.
PNE line-up: Iversen, Storey, Lindsay, Hughes, Browne (c) (Rafferty, 82), Whiteman (Gallagher, 61), Molumby (Potts, 72), Cunningham, Johnson (Gordon, 61), Evans, Riis (Barkhuizen, 46). Subs not used: Ripley, van den Berg, Huntington, Sinclair.
Referee: Mr J Simpson