Attendance: 17,712 (401 visitors)
James Meredith's second goal of the season secured a share of the spoils for Stuart McCall's Bantams after an entertaining encounter with Millwall at the Northern Commercials Stadium.
Lee Gregory fired Millwall into the lead five minutes after the break via a close range finish, but Meredith swooped on the hour mark to level things up by bundling home at the far post following Mark Marshall's driven ball across goal.
In an evenly-matched first period, both sides had their chances.
Steve Morison saw a volley saved by Colin Doyle from a Millwall corner, while Lions shot-stopper Jordan Archer was on hand to repel a long range drive from Josh Cullen later in the half.
City and Millwall also both hit the woodwork before the half was out. Jake Cooper and Lee Gregory had headers tipped onto the bar by Doyle from one Shaun Williams free-kick delivery.
At the other end, first half substitute Timothee Dieng headed onto the bar from a Meredith cross.
Dieng was introduced into the action with just over half an hour gone following a shoulder injury picked up by Matthew Kilgallon.
Kilgallon and Rory McArdle had both kept their places in City's starting XI from Tuesday's Checkatrade Trophy win over Cheltenham Town, as McCall went with a 3-5-2 formation for the visit of the Lions.
Following Kilgallon's withdrawal, Vincelot moved back from his starting position of central midfield to join McArdle and Nathaniel Knight-Percival in defence, but he was powerless to prevent Gregory giving Millwall the lead shortly after the restart.
A cross into City's area from Shaun Cummings was flicked on into the path of Gregory by Aiden O'Brien. Both McArdle and Vincelot tried to deny Gregory the space to shoot but the Millwall forward still managed to squeeze the ball home past Doyle by his near post.
City's response after the blow of falling behind was a strong one, however.
Law had already seen a scuffed volley go straight at Archer from a decent position inside the box, before Meredith, playing as a left wing-back in the game, stepped up to fire the Bantams level.
Marshall, who impressed in attack alongside Alex Jones, fired the ball dangerously across goal and Meredith was on hand at the far post to slide in from close range.
From that point on, City were the side who looked the more likely to grab a winner from the match.
Millwall, with the dangerous Morison and Gregory in attack, always carried a threat going forward but McCall's side, roared on by the Kop, had more of the ball in the game's latter stages.
Sub Jordy Hiwula had a chance to fire City in front late on after a forceful drive into the box but his effort was held at the second attempt by Archer.
FT: Bradford City 1 Millwall 1
90min: There will be four minutes of time added on at the end of the first half.
90min: YELLOW CARD - McMahon is booked for catching Craig with a late tackle as the pair contested the ball midway in Millwall's half.
86min: There is a break in play as Wallace receives treatment. Play soon continues with Wallace back in Millwall's ranks and able to carry on.
83min: YELLOW CARD - Ferguson is booked for dragging back Knight-Percival as the defender tried to burst forward into Millwall's half of the pitch.
81min: Hiwula drives into Millwall's penalty area, beating two visiting players in the process, but his low drive for goal is eventually held at the second attempt by Archer.
80min: Byron Webster is in position to block out Meredith's low cross into the box. Webster's clearance drops to Cullen just inside the area but the midfielder's low strike is held by Archer.
78min: SUB - The Bantams bring on Billy Clarke for Law.
77min: Cullen fires high and wide with a strike a couple of yards outside the box.
76min: Morison beats Knight-Percival to a Ferguson cross into the box but the striker's diving header is straight at Doyle.
72min: Craig's downward header from a Williams corner is held by Doyle with Gregory lurking and looking for any spillage from the City shot-stopper.
69min: SUBS - Millwall bring on Shane Ferguson and Jed Wallace for O'Brien and Onyedinma respectively.
67min: SUB - The Bantams bring on Jordy Hiwula for Jones.
64min: Cullen fires for goal from a loose ball just outside the area but the low effort is straight at Archer.
60min: GOAL!!!!!!!!! Bradford City 1 Millwall 1- Meredith has City level! Marshall drives the ball across goal with a powerful shot-come-cross and Meredith is on hand to bundle the ball in from close range over by the far post.
59min: Marshall heads over from just inside the box from Meredith's cross.
57min: Meredith's cross towards Jones ends up dropping down into the path of Law but the midfielder's shot on the volley from deep inside the box is scuffed and bounces through comfortably into path of Archer.
52min: YELLOW CARD - Gregory is booked for kicking the ball away to delay City from taking a free-kick just inside their own half.
50min: GOAL - Bradford City 0 Millwall 1 - Gregory fires the visitors into the lead. Cummings' ball into the box makes its way through into the feet of Gregory via a flick on from O'Brien. Vincelot and McArdle try to deny the attacker the opportunity to shoot but the Millwall striker still manages to squeeze the ball past Doyle by his near post.
46min: The Bantams restart the match.
HT: Bradford City 0 Millwall 0
45+1min: Dieng goes for goal from such distance but the efforts bounces through comfortably into the grasp of Archer.
45min: There will be two minutes of time added on at the end of the first half.
45min: Off the bar! Dieng heads onto the crossbar from Meredith's cross into the box.
42min: Marshall shows great skill to get past two Millwall players just inside the box but his eventual shot for goal is blocked behind for a corner.
38min: Williams takes aim from just outside the area but his low drive flashes wide of Doyle's far post.
37min: Marshall tries his luck from outside the box but his rising effort goes high and wide of Archer's goal.
36min: YELLOW CARD - Nathaniel Knight-Percival is booked for barging over Onyedinma after the Millwall winger had sped past him over by City's left flank.
32min: SUB - The Bantams are forced to bring Kilgallon off, replacing him with Timothee Dieng. Vincelot will now drop back into central defence.
31min: Sadly for Kilgallon and City, the defender has gone down again. He still appears troubled by his shoulder problem.
30min: Kilgallon is back on the pitch to bring City back up to their full allocation.
29min: A great double save from Doyle keeps the scores level! With Kilgallon still off the pitch, Cooper powers for goal from the resulting Williams corner but his header is tipped onto the bar by Doyle. Gregory looks to cash in on the rebound but his own header from close range also hits the bar via a faint touch off the glove of the Bantams 'keeper.
28min: City are temporarily down to ten men as Kilgallon appears to have injured his shoulder making that interception.
27min: O'Brien latches onto a loose pass and looks to play Gregory in on goal but McArdle and then Matthew Kilgallon both a get touch on the ball to put it out for a corner.
27min: It seems for a second like O'Brien is through after being played in on goal by Morison but a great last-ditch tackle from Tony McMahon just inside the box cuts out the danger.
26min: Shaun Cummings' free-kick from deep towards City's area is cleared by Vincelot, Williams puts the ball back into a dangerous area for City but Gregory fires over from a tight angle inside the box.
23min: Alex Jones evades the attentions of a couple of Millwall players before firing into the side-netting by Archer's near post from a tight angle inside the area.
21min: Marshall neatly turns away from Onyedinma before firing in a shot from outside the box that is held by Archer.
18min: Doyle has to come to the edge of his box to kick clear, narrowly beating Gregory to the ball. With Doyle out of his goal, the loose ball lands invitingly at the feet of Aiden O'Brien but Rory McArdle is able to crowd him out, with the danger eventually passing as Vincelot heads out from a Tony Craig cross into the box.
18min: James Meredith heads the ball down into the mix from a Marshall corner but Vincelot's shot is blocked before it can reach Archer's goal.
17min: YELLOW CARD - Williams is booked for tugging back Vincelot in the build up to the Cullen shot.
17min: Cullen lets rip with a fierce drive as the ball breaks out to him just outside the box and Archer has to stretch out to his left to tip the powerful shot around the post.
16min: Josh Cullen's effort for goal from a free-kick roughly twenty-five yards out is held on the bounce by Jordan Archer.
12min: Cooper escapes with just a telling off after taking down Romain Vincelot just inside Millwall's half following a great turn and nutmeg from the Frenchman.
5min: Williams' delivery from the resulting corner looks to find the unmarked Jake Cooper over by the far post but the giant debutant defender narrowly misses the ball and it goes out for a goal kick.
4min: Shaun Williams' corner delivery into the box finds Steve Morison in space over by the far side and the striker's volley for goal has to be tipped over by Colin Doyle.
2min: Millwall look to counter attack at pace from a City corner but Nicky Law is in the right place to cut out Fred Onyedinma's threatening centre as the winger tried to pick out Lee Gregory in the middle.
0min: Millwall kick off the match. The Bantams, who appear set to play using a 3-5-2 formation, will attack towards the T L Dallas Stand end in the first period.
BRADFORD CITY LINE UP:
Doyle, McMahon, McArdle, Kilgallon, Knight-Percival, Meredith, Vincelot, Cullen, Law, Marshall, Jones
Subs: Sattelmaier, Darby, Dieng, Clarke, Hiwula, Gilliead, Devine
Bradford City substitutions:
Dieng for Kilgallon (32), Hiwula for Jones (67), Clarke for Law (78)
Bradford City cautions:
Knight-Percival (36), McMahon (90)
MILLWALL LINE UP:
Archer, Cummings, Webster, Cooper, Craig, Onyedinma, Williams, Thompson, O'Brien, Morison, Gregory
Subs: King, Worrall, Romeo, Wallace, Butcher, Ferguson, Abdou
Ferguson for O'Brien (69), Wallace for Onyedinma (69)
Williams (17), Gregory (52), Ferguson (83)
Referee: M Brown
Assistant Referee: S Rushton
Assistant Referee: K Mulraine
Fourth Official: M Dicicco