Mason Bennett scored a late winner as Millwall fought back to beat Preston North End and keep alive their Championship play-off hopes.
Bennett ran onto a speculative ball into space by Ryan Woods and took advantage of Daniel Iversen’s hesitant goalkeeping to head home his second goal in two games.
North End’s Ched Evans and Millwall’s Scott Malone had both scored sensational goals in an otherwise forgettable first half to leave the scores level.
Bennett missed a glorious chance to put an increasingly dominant home side ahead after the break.
But with his side seemingly heading for a 17th league draw in 34 matches, Bennett made amends with a well-taken winner inside the final five minutes to ensure Millwall are only seven points behind sixth-placed Cardiff City, who thrashed Derby County 4-0.
Preston were hanging on by the time Bennett scored and had offered very little goal threat following Evans’ spectacular 12th-minute volley.
The former Wales international smashed in his third goal in nine appearances since joining in January, but it was just one of two efforts on target the visitors managed.
Malone matched the quality of the opener with a ferocious 20-yard equaliser into the top corner after cutting in from the left, and buoyed by the leveller, Millwall steadily seized control in the second period.
Mason Bennett wasted their best opportunity when his first-time shot clipped the top of the bar, while top scorer Jed Wallace almost grabbed his eighth goal of the season with a rasping low shot from a tight angle which went a fraction wide of the far post.
But Bennett struck the winner just as the two mid-table teams, who kicked off level on points, seemed set for a draw.
Millwall boss Gary Rowett: “It was the perfect response, although I didn’t feel that way after about 25 minutes. As it tends to happen recently we don’t start as well as I’d like.
“Going 1-0 down knocked our confidence a bit, I think, and we started going backwards and playing too slowly. Preston were set up to pick off the poor passes and counter-attack us.
“Beyond that I thought we were by far the better side and limited them to virtually nothing. It looked like only a matter of time for us to score and for 65 minutes, we looked excellent.
“In the Championship, most teams that go a goal up don’t tend to go on and lose the game, but what we’ve done is show different ways to win a game.”
Preston manager Alex Neil: “I don’t think there was a lot in the game really. The biggest difference between us was that they were putting the ball in behind us and we were leaving it short so their centre-backs were in complete control.
“The first two goals were moments of quality from two players and for theirs, we back off, leave the space in front and he bangs it in the top corner, so I’ll take responsibility for that one.
“But for the second one that is exactly what we didn’t do and it cost us the game.
“It was arguably one of the worst games you’ve seen anyway, but I’d have taken a point – difficult venue, get a point, back up the road and let’s focus on the next one. That’s what it should’ve been.”
- 28EvansBooked at 90mins
- 7J Wallace
- 22BödvarssonSubstituted forSmithat 86′minutes
- 20BennettSubstituted forThompsonat 90+2′minutes
- 2van den Berg
- 21MolumbyBooked at 58mins
- 31SinclairSubstituted forJohnsonat 80′minutes
- 44PottsSubstituted forRiis Jakobsenat 89′minutes
- 42GordonSubstituted forBarkhuizenat 58′minutes
- 19Riis Jakobsen
- Keith Stroud
Match ends, Millwall 2, Preston North End 1.
Second Half ends, Millwall 2, Preston North End 1.
Attempt missed. Jordan Storey (Preston North End) header from the centre of the box is just a bit too high. Assisted by Benjamin Whiteman with a cross following a set piece situation.
Foul by Mahlon Romeo (Millwall).
Tom Barkhuizen (Preston North End) wins a free kick on the left wing.
George Evans (Millwall) is shown the yellow card.
Mahlon Romeo (Millwall) wins a free kick in the defensive half.
Foul by Tom Barkhuizen (Preston North End).
Attempt missed. Jed Wallace (Millwall) right footed shot from outside the box misses to the left following a corner.
Substitution, Millwall. Ben Thompson replaces Mason Bennett.
Corner, Millwall. Conceded by Andrew Hughes.
Attempt blocked. Mason Bennett (Millwall) right footed shot from outside the box is blocked. Assisted by Jed Wallace.
Jed Wallace (Millwall) wins a free kick in the defensive half.
Foul by Daniel Johnson (Preston North End).
Substitution, Preston North End. Emil Riis Jakobsen replaces Brad Potts.
Mason Bennett (Millwall) wins a free kick on the left wing.
Foul by Sepp van den Berg (Preston North End).
Goal! Millwall 2, Preston North End 1. Mason Bennett (Millwall) header from the centre of the box to the top left corner. Assisted by Ryan Woods with a through ball.
Substitution, Millwall. Matt Smith replaces Jón Dadi Bödvarsson.
Corner, Millwall. Conceded by Tom Barkhuizen.