North End went out of the Carabao Cup on penalties to Middlesbrough, after the third round tie ended 2-2 at Deepdale.
Callum Robinson gave the home side the lead just before the half hour mark with his fourth goal in five games, but Ashley Fletcher equalised ten minutes before the break, sliding home after a well-worked move from the visitors.
The teams again traded goals in the second half, either side of the mid-way point and both long-distance pile-drivers, firstly from Tom Barkhuizen and then Marcus Tavernier to again level matters at 2-2.
But penalties were sent over the bar in the shoot out by Robinson and substitute Graham Burke and the visitors converted all of their four efforts to earn a place in the last 16.
Manager Alex Neil made just three changes to the side that faced Sheffield United a few days earlier, one of them enforced, with Darnell Fisher suspended for the cup clash.
Ben Pearson returned at the heart of the midfield, partnering Ryan Ledson and Alan Browne in a return to the 4-2-3-1, that has been the Lilywhites’ trademark formation over the past couple of seasons.
The other changes saw Jordan Storey get a start for the third round running in this year’s league cup competition, with Brandon Barker also in the XI, coming in as part of a front three alongside Callum Robinson and Tom Barkhuizen.
The visitors meanwhile made wholesale changes, with the entire XI from Saturday’s goalless draw against Swansea City given the night off, however, they started brightly and Paddy McNair had an early shot well-saved by Chris Maxwell after a ball in from the left by Tavernier.
But North End began to get on top. After ten minutes a Robinson corner from the left was met by Paul Huntington, only for Konstantopoulos to make a smart save on the line. The Greek stopper was beaten on 19 minutes as Ledson crossed from the left and Huntington was again the man to get his head on the ball, but despite the keeper not getting to the effort, it flashed past the right-hand post.
The opener came with the Lilywhites on top on 28 minutes. A Ben Pearson long ball was played into a right-hand channel, Alan Browne ran on to it, held the ball across to Robinson on the edge of six-yard box, with his back to goal and the No.7 spun and shot left footed into the top left-hand corner.
The lead only last seven minutes though as some smart one-touch passing from Boro saw skipper Grant Leadbitter play the ball through to Lewis Wing who laid in Fletcher and he rounded Maxwell and slid into the empty net.
The second half started with PNE again in the ascendency and a Pearson pile-driver from 25 yards was superbly saved by the goalkeeper, before the ball was worked back to Barkhuizen who volleyed from 20 yards past the stopper but against the left hand upright and away to safety.
North End had a lucky escape just before the hour mark as McQueen delivered from the left; Fletcher headed goalwards only for Maxwell to make a superb save, but the ball came out to Gestede and he headed against the bar. The ball was almost played straight back to Gestede who would have been clean through, but Maxwell came and gathered to avert the follow up danger.
But it was North End who went back in front on 66 minutes. The ball was worked well from front to back finding Barkhuizen, who had been switched from to the left in the second half, he cut inside to a position 25 yards out level with the left-hand edge of the box, where he unleashed an arrow-like low drive that came off the inside of the left-hand post to make it 2-1.
Another great save from Maxwell to deny Middlesbrough’s experienced front man Rudy Gestede from a looping header followed; but the lead again only lasted three minutes as this time Tavernier picked up the ball in a left-hand channel 25 yards out and fired a superb effort into the top right-hand corner, giving North End’s goalkeeper no chance.
It was end to end stuff and PNE were close to going ahead for the third time just 90 seconds after the equaliser, substitute Josh Harrop getting on the end of a ball from the right and pulling it back across goal for Robinson, who hooked a shot, only for Dael Fry to get in an excellent last-ditch block.
Robinson was denied twice in ten seconds in the 78th minute. Firstly, good play from Barkhuizen found Tom Clarke overlapping and he pulled a clever reverse ball back for PNE’s No.7 who hit a vicious drive from the edge of the penalty area, only for Danny Batth to make a last-ditch block, but the ball came back out to Robinson, who controlled superbly and drove a shot in from almost the same spot, this time Konstantopoulos getting down low to his right to make a smart save.
Into the final minute and the quick feet of Harrop jinked himself space 15 yards out, firing a left foot effort towards the top left corner, only for Tony Pulis’ goalkeeper to make an outstanding finder-tip stop, but the game ended all-square and straight to penalties.
The penalties would be taken at the Bill Shankly Kop end, in front of the away fans, with Ryan Ledson up first, sending the keeper the wrong way into the bottom right. Leadbitter did the same to make it 1-1.
Callum Robinson sent his over the bar into the away fans to give Boro the advantage, with Gestede making it 2-1, sliding the ball into the bottom left corner. Louis Moult went down the middle to make is 2-2, before Paddy McNair put his side back ahead with an unstoppable effort into the top left.
Ben Pearson made it 3-3 into the bottom left corner, before Tavernier – the first left footer of the night – put his into the bottom left too. Sub Burke had to score to take it down to the last penalty, but fired over the bar to give the visitors the place in the last 16.
PNE line-up: Maxwell, Clarke (c), Hughes, Pearson, Storey, Huntington, Barkhuizen (Moult, 85), Ledson, Robinson, Browne (Harrop, 63), Barker (Burke, 81). Subs not used: Rudd, Earl, Johnson, Gallagher.
Middlesbrough line-up: Konstantopoulos, Batth, Leadbitter (c), McQueen, McNair, Fletcher, Fry, Wood (Chapman, 72), Wing, Tavernier, Gestede. Subs not used: Lonergan, Liddle, Stubbs, Spence, Malley, Walker.
Attendance: 5,095 (781 Middlesbrough fans)
Referee: Mr O Langford