City battled back from a goal behind to seal a late 2-1 victory over Salford City - on their return to the Utilita Energy Stadium.
Two second-half goals from the Bantams secured all three points in their first game at Valley Parade for five weeks, after the visitors were reduced to 10 men in the first period.
An even opening 10 minutes led to chances at both ends. Elliot Watt’s strike nearly unsighted Tom King, who gathered the ball as his parry fell towards the onrushing Lee Angol.
Jamie Walker came close with a curling effort, but the strike from City’s new No.10 - the eventual Man of the Match - was not enough to break the deadlock.
Despite a positive opening half hour from the Bantams, it was the visitors who opened the scoring.
Brandon Thomas-Asante collected the ball on the counter attack having found himself in behind the City defence, smashing into the corner of the net to give Sam Hornby no chance.
It proved to be a busy 10 minutes for the Salford man as he received his marching orders shortly after for an elbow on O’Connor, which saw the City defender lose his tooth.
City applied pressure before the break but struggled to create a clear chance and left the pitch a goal behind.
A flurry of chances opened the second half, with Watt coming closest to levelling. His long-range strike was heading goalward before a deflection steered it over the bar.
City did however draw level just before the hour mark, following the introduction of top goal-scorer Andy Cook.
The frontman used his aerial presence to cause chaos in the box - winning the header before Ryan Watson turned the ball into his own net.
The Bantams’ dominant second-half display allowed them to create a number of chances. Charles Vernam hit the target with a dipping effort from range and several crosses from Alex Gilliead caused panic in the visitors' box.
It was the latter who came closest to putting the Bantams in front, when his effort was cleared off the line as City mounted pressure on their opponents in the closing stages.
The pressure paid with five minutes of normal time remaining when O'Connor capped off an eventful afternoon for himself.
The Irishman's looping header met Callum Cooke's cross and nestled in the back of King's net, to send the City fans into raptures and secure all three points.
CITY: Sam Hornby; Liam Ridehalgh, Paudie O’Connor, Niall Canavan ©, Jamie Walker (Yann Songo’o 87’); Alex Gilliead, Charles Vernam (Callum Cooke 80’), Elliot Watt, Lee Angol; Levi Sutton, Finn Cousin-Dawson (Andy Cook 54’). SUBS (not used): Richard O’Donnell, Yann Songo’o, Matty Foulds, Theo Robinson, Caolan Lavery.
GOALS: Ryan Watson (57’ OG), Paudie O’Connor (85’).
SALFORD: Tom King; Donald Love (booked 65’), Jason Lowe, Ash Eastham © (booked 31’), Ryan Watson; Matty Lund (Tom Elliott 69’), Ash Hunter (Stephen Kelly 72’), Josh Morris (Aramide Oteh 87’), Jordan Turnbull; Brandon Thomas-Asante (dismissed 43’), Theo Vassell (booked 45+5). SUBS (not used): Joel Torrance, Conor McAleny, Corrie Ndaba, D’Mani Mellor.
GOALS: Brandon Thomas-Asante (35’)
REFEREE: James Oldham.
ATTENDANCE: 14,671 (238 from Salford City).