The stunning first-half strike by Ched Evans was the striker's third goal in nine appearances for Preston
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.
- Relive Tuesday night's EFL action
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 two mid-table teams, who kicked off level on points, seemed set for a draw.
- Line-upsMatch StatsLive Text
Line-upsMillwall
Formation 3-4-3
33Bialkowski28Evans4Hutchinson5Cooper12Romeo19Woods24Mitchell14Malone7J Wallace22Bödvarsson20Bennett
- 33Bialkowski28EvansBooked at 90mins4Hutchinson5Cooper12Romeo19Woods24Mitchell14Malone7J Wallace22BödvarssonSubstituted forSmithat 86'minutes20BennettSubstituted forThompsonat 90+2'minutes
Substitutes
- 1Fielding6Williams8Thompson10Smith11Ferguson15Pearce23McNamara27Tiensia32Burey
Preston
Formation 4-2-3-1
22Iversen2van den Berg14Storey16Hughes37Cunningham21Molumby17Whiteman31Sinclair44Potts42Gordon26Evans
- 22Iversen2van den Berg14Storey16Hughes37Cunningham21MolumbyBooked at 58mins17Whiteman31SinclairSubstituted forJohnsonat 80'minutes44PottsSubstituted forRiis Jakobsenat 89'minutes42GordonSubstituted forBarkhuizenat 58'minutes26Evans
Substitutes
- 7Bayliss11Johnson15Rafferty19Riis Jakobsen23Huntington25Ripley29Barkhuizen38Rodwell-Grant40Leigh
Referee:Keith StroudMatch StatsHome TeamMillwallAway TeamPrestonPossessionHome51%Away49%ShotsHome13Away6Shots on TargetHome4Away2CornersHome4Away2FoulsHome12Away11Live TextPost update
Match ends, Millwall 2, Preston North End 1.
90'+6'Full Time
Second Half ends, Millwall 2, Preston North End 1.
90'+6'Post update
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.
90'+5'Post update
Foul by Mahlon Romeo (Millwall).
90'+5'Post update
Tom Barkhuizen (Preston North End) wins a free kick on the left wing.
90'+4'Booking
George Evans (Millwall) is shown the yellow card.
90'+3'Post update
Mahlon Romeo (Millwall) wins a free kick in the defensive half.
90'+3'Post update
Foul by Tom Barkhuizen (Preston North End).
90'+3'Post update
Attempt missed. Jed Wallace (Millwall) right footed shot from outside the box misses to the left following a corner.
90'+2'Substitution
Substitution, Millwall. Ben Thompson replaces Mason Bennett.
90'+2'Post update
Attempt blocked. Mason Bennett (Millwall) right footed shot from outside the box is blocked. Assisted by Jed Wallace.
90'+2'Post update
Corner, Millwall. Conceded by Andrew Hughes.
90'+1'Post update
Jed Wallace (Millwall) wins a free kick in the defensive half.
90'+1'Post update
Foul by Daniel Johnson (Preston North End).
89'Substitution
Substitution, Preston North End. Emil Riis Jakobsen replaces Brad Potts.
88'Post update
Mason Bennett (Millwall) wins a free kick on the left wing.
88'Post update
Foul by Sepp van den Berg (Preston North End).
86'goalGoal!
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.
86'Substitution
Substitution, Millwall. Matt Smith replaces Jón Dadi Bödvarsson.
85'Post update
Corner, Millwall. Conceded by Tom Barkhuizen.
Page 1 of 5rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
Source: bbc.com