Brentford’s hopes of automatic promotion from the Championship faded further as they were held to their fifth draw in six matches by Millwall.
Marcus Forss missed Brentford’s best opportunity to break the deadlock.
The Finnish striker collected Mathias Jensen’s long ball and turned away from George Evans only to then fire into the side netting.
It was a big chance missed by Brentford because second-placed Watford lost at Luton.
The dropped points mean Thomas Frank’s side are eight points behind the Hornets, in fourth, although they have a game in hand.
Brentford struggled against a determined Millwall team who should have taken an early lead when Scott Malone volleyed over from six yards out after being found by Danny McNamara’s cross.
Malone also brought a near-post save from keeper David Raya after being teed up by Jake Cooper’s header down.
‘It will go down to the last round or two’ – reaction
Brentford manager Thomas Frank said: “I am 100% sure it will go down to the last round or two of games, but we have said all along we will remain focused only on our next game because the momentum will shift from now to the end of the season.
“There is a hurricane inside me but I try to stay calm because the team and I will only benefit from a cool head and warm heart.
“Seven games unbeaten is fine but we would have loved to have turned at least three of those draws into wins, and should have done.
“The performance was a little flat but there was no lack of passion, willingness, hard work or attitude, but when you are not at 100% against a side like Millwall that can be the difference.”
Millwall manager Gary Rowett said: “We have drawn with all the top sides and have been very good in these types of games.
“The last few games have been about learning and we did some things well today and there were others that we could have done better.
“We are trying to get as much out of our season as we can, and we had a couple of good chances near the end to win it.
“We came to a really tough place and we were very competitive so I was really pleased with the boys in a game where we don’t have much to play for.
“Now it’s about experimenting and preparing for next season because ninth or 10th and 11th or 12th is neither here nor there to me.”
- 30RasmussenSubstituted forCanósat 70′minutes
- 24Fosu-HenryBooked at 48minsSubstituted forMarcondesat 74′minutes
- 8JensenSubstituted forGhoddosat 70′minutes
- 29Bech Sørensen
- 3M Wallace
- 28EvansBooked at 36minsSubstituted forMitchellat 79′minutes
- 7J WallaceSubstituted forBureyat 90′minutes
- 20BennettSubstituted forBödvarssonat 79′minutes
Match ends, Brentford 0, Millwall 0.
Second Half ends, Brentford 0, Millwall 0.
Corner, Millwall. Conceded by Pontus Jansson.
Substitution, Millwall. Tyler Burey replaces Jed Wallace.
Foul by Ivan Toney (Brentford).
Jake Cooper (Millwall) wins a free kick in the defensive half.
Foul by Ivan Toney (Brentford).
Jake Cooper (Millwall) wins a free kick in the attacking half.
Attempt missed. Ivan Toney (Brentford) header from the right side of the box is close, but misses to the right. Assisted by Bryan Mbeumo with a cross.
Attempt saved. Ivan Toney (Brentford) left footed shot from the left side of the six yard box is saved in the centre of the goal.
Offside, Millwall. Bartosz Bialkowski tries a through ball, but Jed Wallace is caught offside.
Foul by Emiliano Marcondes (Brentford).
Bartosz Bialkowski (Millwall) wins a free kick in the defensive half.
Saman Ghoddos (Brentford) wins a free kick on the right wing.
Foul by Alex Pearce (Millwall).
Substitution, Millwall. Jón Dadi Bödvarsson replaces Mason Bennett.
Substitution, Millwall. Billy Mitchell replaces George Evans.
Substitution, Brentford. Emiliano Marcondes replaces Tariqe Fosu-Henry.
Foul by Saman Ghoddos (Brentford).
Mason Bennett (Millwall) wins a free kick in the defensive half.