Preston North End’s long unbeaten league record at Deepdale was ended by Bradford City as this Roses battle ended in dramatic fashion.
Their last defeat in League One in front of the home faithful had come on December 21 last year against Brentford.
Too many PNE players were below their best in this one and the Bantams were worthy of their half-time lead given to them Rory McArdle.
North End improved in the second half and looked to have rescued a draw in the 85th minute when Joe Garner turned in a fine cross from Callum Robinson.
But straight from the re-start, Bradford worked the ball forward and Mark Yeates curled home a delightful winner.
Even in stoppage-time, North End had chances to pull level a second time but that proved a step too far.
It was a third consecutive defeat in the league for Simon Grayson’s men, punctuated by the win at Havant and Waterlooville in the FA Cup.
And it dropped them down to third place in the table, Swindon leapfrogging them after beating leaders Bristol City.
The Preston side had shown three changes, Garner, Neil Kilkenny and Chris Humphrey returning to the starting XI after being on the bench at Havant last Monday.
There was a switch to right-back for Tom Clarke to take the place of Scott Wiseman who played in Gibraltar’s 4-0 defeat to Germany on Friday night.
Will Hayhurst was missing from the squad having joined up with the Republic of Ireland Under-21 squad.
But Alan Browne had got permission from the Irish to stay with North End, while Callum Robinson was excused duty with England Under-20s.
Josh Brownhill missed out on a place in the squad with an injury picked up during the Havant game.
Bradford had the game’s first chance, Jon Stead getting behind the PNE defence but lifting his shot harmlessly over the bar into the Town End.
A subdued North End briefly sprang into life, a run from Garner taking him into the box, his low shot blocked by McArdle.
There was another timely clearance by McArdle soon after, hacking the ball clear from inside the six-yard box after Humphrey had shown a good turn of pace down the right-wing and delivered a low cross into the middle.
Browne giving possession away in midfield was nearly costly for Preston, the ball worked to Billy Clarke who dragged a low shot wide from the edge of the box.
Soon after at the other end, David Buchanan delivered a cross from the left which Garner sprang up to meet but put his header too high.
Bradford opened the scoring in the 26th minute and it was a deserved lead, Andy Halliday’s corner from the right travelling over to the far side of the six-yard box where McArdle rose to send a header into the net.
North End responded with Garner earning a free-kick on the edge of the ‘D’ outside the box after being felled by Andrew Davies.
Paul Gallagher’s set-piece stayed low, it hitting a couple of defenders before going out for a corner.
The resulting corner was played in by Gallagher, it finding Garner whose header was blocked, the loose ball falling to Killkenny who saw his first-time shot blocked.
Another corner almost led to a second Bradford goal in the 38th minute, Halliday’s flag-kick again played deep, a header from Davies cleared from almost on the line by Jack King.
Three minutes before the interval, Browne and Buchanan linked well to play in Gallagher on the left hand side of the box but he swept a first-time shot into the arms of keeper Jordan Pickford.
At the start of the second half North End looked a lot more lively after switching to a 3-5-2, Clarke moving into the centre of defence.
In the 50th minute, Humphrey sped down the right-wing and sent over a low cross which Pickford got a glove to and pushed out.
Within sixty seconds, a header from Garner was cleared off the line by Stephen Darby.
The ball ran to Humphrey who drove a powerful shot goalwards, Pickford diving across to parry at full stretch.
Just beyond the hour, Gallagher got clear down the left hand side of the box and pulled the ball back low for Robinson, his first-time low shot whistling inches the wrong side of the far post.
North End made a double change in the 65th minute, Kevin Davies and Scott Laird replacing Gallagher and Buchanan.
Former PNE trialist Filipe Morais was not far away from stretching Bradford’s lead when he cut inside from the right-wing and hit a left-foot shot which flashed just wide.
In the 77th minute, substitute Laird chased the ball out to the right-wing after a corner had been cleared.
His cross into the box found Garner but the striker’s header bounced just wide.
On the counter-attack, Stead broke into the box to the right of goal, keeper Jones blocking his shot at the near post.
Somehow the ball stayed out of the net in the 82nd minute when Robinson’s driven low cross looked to be heading straight for Garner but the danger was cleared.
North End finally fashioned an equaliser with five minutes remaining, only to concede again straight away.
The leveller came about through great work by Robinson on the left hand side of the box, his low cross forced in by Garner from close range.
But straight from the re-start, the ball was worked across the pitch by the visitors, Yeates given too much room to pick his spot and curl a lovely finish past Jones from the edge of the box.
There were chances for a second equaliser in stoppage-time, King’s shot from 10 yards parried by Pickford after Robinson had teed him up.
Then Garner pulled a shot wide at the back post after a cross had been helped on to him.
PNE: Jones, Clarke, King, Huntington, Buchanan (Laird 65), Kilkenny, Browne, Humphrey (Reid 79), Gallagher (Davies 65), Robinson, Garner. Subs not used: Holmes, Welsh. Ryan, Stuckmann.
Bradford: Pickford, Darby, Davies, McArdle, Meredith, Kennedy, Halliday (Liddle 69), Yeates, Morais (Sheehan 88), Clarke (Hanson 76), Stead. Subs not used: Dolan, Knott, Routis, Williams.
Referee: Andy Haines (Tyne and Wear)
Attendance: 10,302 (1,310 away)