Nicky Law's Bradford side dominated the second half after being under the cosh
for much of the first but were then caught out by a sucker punch.
A cross in the final minute from Andy Roberts found Neil Harris and his
close-range header sealed a last-ditch victory. But it took a vital save by
Millwall goalkeeper Tony Warner, who tipped Andy Gray's header around the post
in the dying seconds, to preserve his side's lead.
Bradford made a strong start to the second half with Mark Bower testing Warner
and Andy Myers sending his shot wide.
Warner had to make another save on the hour to deny Gray as the home side
continued to press. Gray then sent a shot over the crossbar as the Bantams went
all-out for victory.
Millwall had dominated the opening 45 minutes at Valley Parade but were unable
to turn their superiority into goals.
With both sides safely placed in mid-table, it was no surprise that during the
early exchanges they cancelled each other out, with much of the action confined
to the midfield.
It was the visitors who had the first clear opportunity at goal, but Bradford
goalkeeper Aidan Davison saved Paul Ifill's left-foot volley from 18 yards.
Millwall continued to push forward after the sluggish start with Peter
Atherton blocking David Livermore's goal-bound effort and Davison then safely
collecting Dennis Wise's out-swinging corner.
Ifill, who was looking lively, then tried his luck after 13 minutes but his
left-foot effort was wide of the target.
It took the home side a quarter-of-an-hour to have their first effort on goal
and Gray sent his shot wide.
It was Millwall who continued to enjoy the lion's share of possession, but
clear-cut chances continued to be at a premium. Ifill was again in the thick of
the action midway through the first half, firing a 20-yard shot at goal which
was saved again by Davison.
It took 28 minutes before Millwall keeper Warner had to make his first save
and he was perfectly-placed to deny Gray from 18 yards.
Teams
Bradford: Davison, Uhlenbeek, Wetherall, Bower, Emanuel,
Muirhead (Myers 36), Reid, Atherton, Jorgensen,
Forrest (Cadamarteri 79), Gray.
Subs Not Used: Magnusson, Francis, Ten Heuvel.
Booked: Jorgensen.
Millwall: Warner, Ryan, Ward, Nethercott, Roberts,
Reid (Ashikodi 76), Livermore, Wise, Ifill, Harris,
McCammon (Lawrence 68).
Subs Not Used: Gueret, Kinet, Craig.
Booked: Roberts.
Goals: Harris 90.
Att: 10,676
Ref: J P Robinson (E Yorkshire).