Match ends, Millwall 0, Bradford City 0.
Millwall climbed up to seventh with a point against Bradford as they kept a fourth clean sheet in a row at The Den.
Lee Gregory fired over under pressure from Bradford's Reece Burke, while Devante Cole had a penalty appeal for the visitors turned down.
Millwall keeper Jordan Archer was untroubled by Tony McMahon's long-range volley just after the hour mark.
But Ben Williams had to produce a stunning save to prevent Shaun Williams firing Millwall in front from 18 yards.
Millwall manager Neil Harris told BBC Radio London:
"It was two good sides in good form at the moment facing each other.
"I think there was a lot of cancelling each other out, two game plans that were quite similar and we just didn't quite have the end product today.
"We didn't have that zip about us but we're making small steps all the time."
Line-ups
Millwall
Formation 4-4-2
- 13Archer
- 4Edwards
- 5CraigSubstituted forWebsterat 56'minutes
- 16Beevers
- 3Martin
- 22O'Brien
- 6Williams
- 21Saville
- 18FergusonSubstituted forOnyedinmaat 62'minutes
- 9GregorySubstituted forPaveyat 90'minutes
- 20Morison
Substitutes
- 1Forde
- 2Cummings
- 10Onyedinma
- 11Martin
- 17Webster
- 23Powell
- 29Pavey
Bradford
Formation 4-4-2
- 1Williams
- 2Darby
- 23McArdle
- 16Burke
- 3Meredith
- 29McMahonBooked at 69mins
- 8Liddle
- 4Evans
- 17ReidSubstituted forMarshallat 72'minutes
- 9Hanson
- 44ColeSubstituted forClarkeat 80'minutes
Substitutes
- 5Clarke
- 7Marshall
- 10Clarke
- 11Knott
- 15Leigh
- 30Cracknell
- 33James
- Referee:
- Kevin Johnson
- Attendance:
- 9,367
Match Stats
- Possession
- Home53%
- Away47%
- Shots
- Home4
- Away6
- Shots on Target
- Home1
- Away1
- Corners
- Home6
- Away3
- Fouls
- Home10
- Away14
Live Text
Post update
Full Time
Second Half ends, Millwall 0, Bradford City 0.
Post update
Foul by Joe Martin (Millwall).
Post update
Tony McMahon (Bradford City) wins a free kick in the attacking half.
Substitution
Substitution, Millwall. Alfie Pavey replaces Lee Gregory because of an injury.
Substitution
Substitution, Bradford City. Billy Clarke replaces Devante Cole.
Post update
George Saville (Millwall) wins a free kick on the left wing.
Post update
Foul by Mark Marshall (Bradford City).
Post update
Foul by Shaun Williams (Millwall).
Post update
Lee Evans (Bradford City) wins a free kick in the attacking half.
Post update
Foul by Steve Morison (Millwall).
Post update
James Meredith (Bradford City) wins a free kick in the attacking half.
Post update
Aiden O'Brien (Millwall) wins a free kick on the right wing.
Post update
Foul by Tony McMahon (Bradford City).
Post update
Fred Onyedinma (Millwall) wins a free kick in the defensive half.
Post update
Foul by James Hanson (Bradford City).
Post update
Corner, Millwall. Conceded by Ben Williams.
Post update
Attempt saved. Shaun Williams (Millwall) right footed shot from the centre of the box is saved in the top left corner.
Substitution
Substitution, Bradford City. Mark Marshall replaces Kyel Reid.
Post update
Shaun Williams (Millwall) wins a free kick on the left wing.