A second half Tony McMahon strike was the difference as the Bantams beat the Spireites 1-0 to open the festive programme at the Proact.
The Bantams came closest in the first half when Billy Clarke flicked a header onto the post, but the Spireites were showing enough forward thrust for home fans to hold some second half hope.
Both sides were making openings in the second, and McMahon's swept-home finish after 72 minutes gave the visitors the lead, a lead the visitors would hold to the end.
The game started in a balanced fashion with neither side being able to create an opening. City's McMahon was picked out in acres of space on the right but failed to control the ball in slippery and windy conditions.
Sylvan Ebanks-Blake had the first shot of the game just inside ten minutes. He took the ball down well on the edge of the area and turned on a sixpence, but his low effort was easily gathered by visiting 'keeper Ben Williams.
However, at the Bantams almost took the lead at the other end after a glorious double chance. First Billy Clarke headed McMahon’s cross onto the post, before Gary Liddle’s follow-up was saved on the line by Tommy Lee.
Seconds later it was James Hanson’s turn to go close. Lee Evans found himself in space before crossing for Hanson who flung himself at the ball, only to see his effort go inches wide from four-yards out.
It was backs to the wall for the Spireites and they were relying on chances created on the break. The impressive Ollie Banks played a neat one-two with Ebanks-Blake before pulling the ball back to the striker, but Bradford dealt with the threat.
Ebanks-Blake then went close again following a Liam O’Neil cross, but his header was well held by Williams. At the other end the lively Kyle Reid forced a corner from a well struck shot which looked like it was creeping into the corner.
The game was becoming a scrappy affair, with neither team able to test their opponents, though O’Neil came the closest for the Spireites to breaking the deadlock as he hit a ferocious drive from 18-yards which sailed just over the bar.
Chesterfield were ending the half the better of the two sides, and went close again as Drew Talbot crossed for Ebanks-Blake, but he headed over the bar in what was the last chance of the half.
At half time caretaker manager Mark Smith opted to switch things up, with Ritchie Humphreys replacing the injured Drew Talbot for only his second outing of the season.
The visitors had the first chances of the second period as they looked to break the deadlock. First Stephen Darby burst forward to tee the ball up for Reid, with Lee tipping the ball onto the post as Bradford began to take control of the game.
Meanwhile chances for the Spireites were drying up, and Smith brought on Dan Gardner to try and revive their creative flow.
It looked like an inspired change as he immediately broke forward and played in Ebanks-Blake who tucked the ball home, but the offside flag had already gone up.
The change gave Chesterfield added legs in the wide areas, and Gardner was at the centre of another attack minutes later. He flicked the ball into the path of Banks, who won a corner with a deflected long range effort.
The game was coming back to life as the atmosphere in the ground increased following some heavy challenges, and this sparked Bantams forward Clarke into life. First he mis-controlled the ball when in one-on-one, before he then rolled a shot inches wide.
Bradford then thought they’d taken the lead when Evans poked the ball home, but the strike was ruled out for a foul on Lee.
However, the visitors did take the lead moments later. Clarke was played in yet again down the left, he pulled it back for McMahon on the edge of the area who hit a first-time shot through a crowd of bodies and past Lee.
It was a goal that looked on the cards as Chesterfield were failing to clear their lines, but the Spireites had a case for a penalty minutes later when Gardner went down in the box, but the referee awarded just a goal kick.
With 15 minutes to play Rai Simons replaced O’Neil as the home side looked to salvage a point. He rolled the ball into Ebanks-Blake who flicked it on to Gardner, but his low shot was blocked before Dion Donohue struck a long-range strike wide.
The board signally four minutes of added time gave the Spireites hope but it wasn’t enough as Bradford stood firm to take all three points from the game, leaving Chesterfield still just two points above the relegation zone.
Chesterfield: Lee (gk) - Talbot (Humphreys 46'), Evatt (c), Raglan, O'Neil (Simons 77') - O'Shea, Ariyibi (Gardner 62'), Banks, Hird, Donohue - Ebanks-Blake
Subs not used: Chapman (gk), Dieseruvwe, Daly, Maguire
Bradford City: Williams (gk) - Darby (c), Evans, Liddle, Hanson, Clarke (Cole 81'), Leigh, Burke, Reid (Meredith 90'), McArdle, McMahon
Subs not used: Cracknell, Clarke, Marshall, Knott, Bowery
Bradford City: McMahon 72'
Attendance: 6,795 (1,461 away fans)