Millwall dropped out of the Sky Bet Championship play-off places after labouring to a drab goalless draw at Southampton.
Thierno Ballo spurned a glorious late chance to hand the Lions a priceless victory as the stuttering Saints saw their winless run extend to five games.
Millwall were without a recognised striker after Mihailo Ivanovic suffered an injury in Monday's 2-1 home over Bristol City and, missing that focal point up front, the Lions struggled to create chances in a dour first half.
Ryan Leonard should have done better after only six minutes when he was picked out by Macauley Langstaff's deep cross but headed tamely across goal.
The Lions' best chance of the half came in the 19th minute as Femi Azeez raced down the right and cut the cross back for Ballo to fire straight at Gavin Bazunu.
At the other end captain Jack Stephens placed a 22-yard shot straight into arms of Millwall goalkeeper Max Crocombe.
Stephens then saw his near-post header kept out by Crocombe from a dangerous Leo Scienza corner.
Four minutes before half-time Cameron Archer was sent through on goal by Kuryu Matsuki's lofted pass but blazed a half-volley over the crossbar.
Ten minutes into the second half Ballo ballooned over the Saints bar after Alfie Doughty corner was only half-cleared.
Moments later Ballo shot across goal from a tight angle after blindsiding the hosts' defence.
In a game lacking in quality, the visitors looked the more likely to break the deadlock and Camiel Neghli had a dangerous shot from the edge of the penalty area blocked by Nathan Wood.
Saints' best hope of a goal appeared to be from set-pieces but Stephens' wayward header from a Scienza corner summed up their lack of threat.
Even the introduction of top scorer Adam Armstrong and summer signings Finn Azaz and Tom Fellows failed to spark the south-coast side into life.
Fellows did see a late curling effort deflected wide but wasteful Ballo should have scored from four yards out 12 minutes from time.
Azeez drilled an inviting low cross into the box but Ballo was too casual with his finish, allowing Bazunu to turn the ball behind for a corner.
In the final seconds of normal time Langstaff put a half-volley onto the roof of Bazunu's net.
It means Millwall have now won just one of their last six matches, allowing Preston to leapfrog them into the top six on goal difference.
Southampton, meanwhile, start 2026 with a seven-point deficit on the play-off spots to make up.
The managers
Southampton's Tonda Eckert:
To follow...
Millwall's Alex Neil:
To follow...