Just when the visitors’ rearguard action appeared to have earned them a hard-fought point, sub Harris took Steven Reid's throughball and beat Boaz Myhill with only seven minutes remaining.
Bantams boss Nicky Law admitted that he would have been delighted to come away with a scrappy 0-0 draw.
And on the evidence of the majority of this dour encounter his pre-match prediction appeared prophetic.
Such is the current plight of the Yorkshire club, whose financial position has led to the non-payment of the players wages this month, that a point will be deemed a success.
Five straight defeats, including last Saturday’s 5-0 derby day demolition by Sheffield United has seen City slide to a position just above the relegation zone.
And on the face of it, Bradford should have provided Millwall with just the opposition to carry on their resurgent form.
Thirteen points from 18 has lifted the Lions away from the very position the Bantams now occupy and boss Mark McGhee recognised the importance of continuing that run.
But his side just could not get the better of battling Bradford, who almost stole the lead in the fourth minute, when Andy Myers’ header had to be cleared from the line by Dennis Wise.
It was a rare moment of excitement in a match that produced a mere six efforts on target. Reid flashed a shot wide, while Robert Molenaar volleyed over just before the break.
Things hardly improved after the restart. Wayne Jacobs dismissal on the hour for a second bookable foul on Paul Ifill should have seen the floodgates open.
Law bemoaned the performance of the officials who failed to spot that the Lions winger had run the ball off before Wayne Jacobs' challenge.
Kevin Braniff skied a close-range volley, but until Harris' goal from nothing the Lions continued to struggle.
Further chances inevitably came their way in the closing stages as City heads dropped, but Harris, Ifill and Cristophe Kinet all wasted good openings.