Despite seeing their side fall behind early on and seemingly destined for a third consecutive League Two defeat, the Bantams faithful stuck with Gary Bowyer’s men.
And, in the end, their backing proved crucial as City levelled matters before being roared on to victory in the closing stages, O’Connor striking the decisive blow two minutes from time.
“We’ve gone behind, probably against the run of play so coming out second half we knew that if we kept knocking on the door that eventually we’d break it down,” the 22-year-old defender reflected.
“Once we got the first, it always felt like we were going to go on and get the second. The crowd got behind us and roared us on and it felt like they were sucking the ball into the net.
“They’ve stuck with us and credit to them because we definitely needed them in the second half when we were banging away, trying to get that first goal.
“Once we did they’ve got behind us and seen us home.
“They’ve been unbelievable and luckily we were able to send them home with something to be happy about.”
City found themselves a goal down with 20 minutes on the clock, shortly after James Vaughan was denied one-on-one by Northampton goalkeeper David Cornell’s first excellent stop of the afternoon.
It was big centre-half Charlie Goode who broke the deadlock, nodding home Joe Martin’s right-wing corner at the far post.
The goal came against the run of play, and despite that set-back Bradford continued to have the better of things, Clayton Donaldson sending a Harry Pritchard cross wide of the mark shortly before half-time. The second period saw the Bantams continue to press, and although they struggled to really open up their visitors despite seeing plenty of the ball, Donaldson looked set to level matters, only to see his 70th-minute effort cleared off the goal-line.
That moment seemed to be cue for City to start turning the screw, however Vadaine Oliver almost moved Northampton out of sight, his header forcing Richard O’Donnell into an excellent tip over.
Undeterred, the Bantams eventually mde their breakthrough with 77 minutes on the clock, a strike that owed much to the intent shown by Zeli Ismail following his arrival from the bench. The substitute upped the ante, taking the game to the Cobblers and showing real intent down the right wing.
Ismail accelerated into the box, skinned a Northampton defender and drilled a centre across the face of goal where the combination of Donaldson and Michael Harriman diverted it into the back of the net.
Having pulled level, Bradford continued to pour forwards, but O’Donnell was required to thwart Oliver from close range once again in the 85th minute.
Only some superb last-ditch defending by Connor Wood saved the hosts as Town conspired to butcher a two-on-one chance on the counter-attack.
And then, within 60 seconds, the Bantams netted their late winner, O’Connor demonstrating a cool head inside the opposition box.
Pritchard delivered from the opposite wing, Kelvin Mellor forced Cornell into a superb stretching save, but the ex-Leeds United centre-half netted.
There was still time for Ismail to be sent off for a second yellow following an off-the-ball clash with Jordan Turnbull, much to the dismay of boss Bowyer.
“It’s crazy,” the City boss said.
“To send him off for that, he hasn’t done anything. I’ve actually watched it back and he hasn’t done anything.
“Their lad has grabbed him and it’s poor refereeing.
“The first one, their lad is already going down, he’s waiting for that touch. Two minutes later he books their lad for exactly the same. They’re fouls, but they’re not bookings.
“We’ve got a problem with the officials here at this moment in time because this [Valley Parade] is a big environment for some of them and they’ve not been up to the standard.”
Bradford: O’Donnell, Mellor, Paudie O’Connor, Richards-Everton, Wood, Connolly (Ismail 68), Palmer, Devine (Cooke 68), Pritchard, Donaldson, Vaughan (Anthony O’Connor 90). Unused substtutes: Hornby, Gibson, Anderson, Oteh.
Northampton: Cornell, Harriman, Goode, Turnbull, Martin, Shaun McWilliams, Lines, Adams (Wharton 73), Warburton (Waters 68), Hoskins, Andy Williams (Oliver 54). Unused substtutes: Kaja, Smith, Pollock, Fisher.
Referee: L Doughty (England).