They had trailed from the 33rd minute and frankly had very much played second fiddle to the home side on Teesside.
You could have been forgiven for starting to write Frankie McAvoy's epitaph as the clock ticked down to what looked like an inevitable defeat.
But suddenly North End sprang into life and scored twice in five minutes to flip the game on its head.
Substitute Ched Evans headed a 77th minute equaliser then in the 82nd minute Emil Riis hammered home his 12th goal of the season to finish-off a counter-attack from their own box.
They were three very much needed points, McAvoy's men having lost their previous two matches which had seen supporters turn on the head coach.
If anything it showed the importance of staying in the game. Although second best for long spells, North End managed to keep Boro in their sights.
They had to be thankful for a string of saves from Daniel Iversen in a spell early in the second half - on top of a great save in first-half stoppage-time.
Had one of those beaten him, it would have been a different story.
McAvoy had brought back Ben Whiteman and Josh Earl into the team at the expense of Ryan Ledson and Greg Cunningham.
In the fourth minute, Alan Browne's low cross from the left hand side of the box just evaded the outstretched boot of Tom Barkhuizen sliding in at the far post
The hosts' first sight of goal came on the counter attack, the ball worked to Matt Crooks on the edge of the box whose shot was headed behind by Earl.
With 18 minutes on the clock, Earl's pass down the left channel gave Riis a run behind the Boro defence.
The Dane's low cross into the middle was aimed at Browne, the PNE skipper just about to meet it when Marcus Tavernier slid in with a tackle to take the ball away from him.
Riis had a decent shout for a penalty when he got barged from behind by Lee Peltier but referee Andy Woolmer wasn't impressed and allowed play to continue.
Boro broke the deadlock in the 33rd minute, it a rather straight forward goal.
Jonny Howson delivered a corner from the left into the middle, McNair getting the run on Andrew Hughes to head it into the roof of the net from six yards.
In first-half stoppage-time, Iversen produced a fine save to prevent a second Boro goal, the PNE keeper tipping Howson's chip over the bar at full stretch.
Iversen came to the rescue again five minutes into the second half, Marc Bola's pass having found Peltier down the left side of the box.
Peltier checked inside on to his right foot and hit a shot which clipped off Sepp van den Berg and was touched on to the underside of the bar by the PNE goalkeeper.
McAvoy made an early second half change, Evans replacing Maguire up front - this the Welshman's first appearance since the middle of August following a foot injury.
Browne's foul on McNair in the 63rd minute earned the midfielder a yellow card and gave away a free-kick just outside the 'D'.
McNair took the free-kick which Iversen dived to his right to push behind.
That started a busy spell for the keeper, with him blocking substitute Onel Hernandez's shot from the left of goal with his legs.
Sixty seconds later, Iversen got down low to push out Andraz Sporar's low shot from 12 yards.
A rare PNE attack saw Barkhuizen hit a 68th minute shot which deflected off a home defender and over the bar for a corner.
Daniel Johnson and Scott Sinclair were introduced for Ali McCann and Barkhuizen with 18 minutes left, the formation switching to 4-2-3-1.
North End equalised in the 77th minute, Evans rising just in front of the penalty spot to meet Whiteman's corner from the right and send a header into the top corner.
They then completely turned the game on its head five minutes later as they went in front.
PNE countered after Browne had blocked a shot in the box, the ball cleared up the right channel to find Johnson.
The substitute moved in from the right and his low cross was cut by Sol Bamba who then kicked the ball against a team-mate.
It rolled into the oath of Riis who took a touch to shift the ball across Bamba on to his left foot before hammering a shot into the net.
North End then ran the clock down expertly, slowing the play down and keeping the ball at the top end of the pitch to the frustration of the home fans.
The 400 or so Preston supporters weren't complaining though, as they savoured only a second away win in the league.
Middlesbrough: Daniels, McNair, Bamba, Peltier (Ikpeazu83), Jones, Crooks, Howson, Tavernier, Bola, Sporar, Watmore (Hernandez 53). Subs (not used): Stojanovic, Dijksteel, Taylor,, Silki, Coburn.
PNE: Iversen, van den Berg, Bauer, Hughes, Barkhuizen (Sinclair 72), Whiteman, McCann (Johnson 72), Browne, Earl, Maguire (Evans 53), Riis. Subs (not used): Hudson, Lindsay, Cunningham, Ledson.
Referee: Andy Woolmer (Northants)
Attendance: 18,013 (405 PNE)
Thanks for reading. If you value what we do and are able to support us, a digital subscription is just £1 month for the first two months. Try us today by clicking here