David Hopkin's battling Bantams were left feeling hard done by after departing a packed Stadium of Light with an unfortunate 1-0 loss at the hands of promotion-chasing Sunderland.
Sunderland's Aiden McGeady proved to be the Boxing Day match-winner for the Wearsiders - the experienced winger netting the only goal of the game just past the half hour mark - but City were denied a share of the spoils in controversial circumstances.
Jack Payne thought he had equalised for the Bantams nine minutes from the end of normal time when Sunderland goalkeeper Jon McLaughlin fumbled his goal-bound shot.
The ball looked to have just rolled over the line by the time the former City shot-stopper got back to try and rescue the situation - but referee Mr Darren England didn't award a goal as play continued.
In front of over 46,000 - the biggest ever League One crowd - David Ball also saw a good penalty shout turned down when he appeared to be tugged back by Max Power as he went to shoot inside the box.
To add to City's frustration during the game, Sunderland defender Tom Flanagan could have possibly seen red as well after clashing with Nathaniel Knight-Percival fifteen minutes from the end.
Despite the clear annoyance of not getting anything from the festive fixture, though, City should take plenty of heart after running a talented Sunderland side close following a hard-working display from Hopkin's side.
Hopkin stuck with the same starting XI that began last Saturday's win at Scunthorpe United, with Anthony O'Connor back on the bench.
Going into a game with a crowd that would end up being the biggest seen in the EFL so far this season - and the third highest of the day in all of English football - the message from Hopkin to his players pre-match surely would have been to not give the large home support much to cheer about early on.
For the most part, City did just that - restricting their much-fancied hosts to little within the first twenty minutes or so despite plenty of home possession.
Sunderland did have one good sight of goal twelve minutes in, though, when Bryan Oviedo fired a low centre into the middle.
Josh Maja connected first with the delivery but his flicked effort rolled just past Richard O'Donnell's far post.
McGeady fired straight at O'Donnell from outside the box later in the half, while Eoin Doyle dragged a shot wide for City from the edge of the area at the other end.
As the half progressed, Sunderland continued to see the vast majority of the ball - although Payne was on the end of a good chance for the Bantams midway through the first period.
After receiving the ball via a Paul Caddis throw-in, Payne moved into a shooting position inside the box but his low angled drive rolled narrowly wide of McLaughlin's goal.
That chance would prove to be City's best opening in the half, with Jack Baldwin heading at O'Donnell from a Sunderland corner soon afterwards.
Sunderland kept knocking on the door, but City seemed to have them at arm's length, until the Black Cats managed to engineer a breakthrough just over thirty minutes in.
A deflected shot from Josh Maja was repelled by O'Donnell under pressure from Chris Maguire, but McGeady was in place to crash home the loose ball from close range.
Understandably, the volume levels in the home stands increased after McGeady's goal, but City did not wilt under the pressure.
The hosts maintained their advantage going into the break without really looking like adding to it.
McGeady did have one further effort for goal before the break, but the long-range effort was pushed around the post by O'Donnell.
The Bantams were holding their own at this stage, but Hopkin's men knew they would need a little bit more going forward now if they wanted to claim something from the game.
City did have one decent opening less than ten minutes into the second half when George Miller found Lewis O'Brien in space behind Sunderland's defences.
O'Brien rounded the on-rushing McLaughlin but the midfielder's ball across goal was blocked out by Luke O'Nien.
City then threatened again shortly before the hour mark when they were denied a possible penalty.
Paul Caddis' cross into the box was knocked into the path of Ball by Miller.
The Rotherham loanee looked set to run onto the ball and strike for goal but he appeared to be tugged back by Power.
Ball fell to the ground, but a well-positioned Mr England waved away any City appeals for a spot-kick.
Despite City's growing presence in the game from an attacking sense, they still had to be very wary of Sunderland's own threats.
Talented defender Oviedo is one of a number of players - including goalscorer McGeady - in the current Sunderland set-up with experience of playing well above League One level, and the left back's fizzing delivery into the six yard box from a set-piece minutes later had to be headed behind by an alert Hope Akpan.
Another member of Sunderland's squad in this same bracket - Lee Cattermole - had looked to get on the end of Lynden Gooch's testing delivery to the far post earlier in the half, but a watchful Adam Chicksen was on hand to make another vital clearance behind.
At this stage of the contest, the chances were coming fairly evenly at both ends of the pitch.
Eoin Doyle, Miller and Lewis O'Brien all saw shots from in and around the area blocked by watchful Sunderland defenders.
From Sunderland's point of view, Flanagan headed over from a McGeady corner before the winger himself fired at O'Donnell with a strike from outside the box in a separate attack.
After seeing Ball's penalty appeal turned down earlier in the half, another debatable moment then didn't go City's way either just over fifteen minutes from the end of normal time.
Flanagan and Knight-Percival seemed to clash as City cleared their lines following a surging run forward from the Sunderland defender.
There is some suggestion that Flanagan struck out at Knight-Percival but Black Cats centre half was given only a yellow card.
Knight-Percival then produced a great tackle to dispossess Cattermole as the midfielder burst dangerously into the box from a Sunderland attack soon afterwards, before arguably the most controversial moment of the match happened.
With just over eight minutes of normal time left on the clock, Payne let fly with a strike from outside the box that was fumbled by McLaughlin.
The Sunderland goalkeeper, who featured for City between 2008 and 2014, scrambled back to try and prevent a goal but the ball did appear to just roll past the line before the 'keeper could finally claim hold of it.
The Bantams were waiting for the referee or near-side linesman to award the goal, but both remained unmoved as stunned City players showed their dismay.
Hopkin and coach Martin Drury led the protests about the decision not to award the goal - with both members of City's coaching team receiving a caution each from Mr England as a result.
As City looked to regroup after the blow of being denied an equaliser, former Bantam Charlie Wyke was brought off the bench for Sunderland for the striker's first appearance since September due to a knee injury.
In response, Hopkin introduced Kai Bruenker and O'Connor off the bench to give City some more aerial presence in the game's final stages.
Sadly for City, however, the only remaining clear scoring chance in the match fell Sunderland's way.
Wyke knocked down a long free-kick into the box towards the path of fellow substitute Duncan Watmore, but his close range header was superbly tipped over by O'Donnell.
Match line ups, action and stats from the Sunderland game can be found via the Match Centre - HERE.