Steve Morison kept his cool to mark his 200th appearance for Millwall with an 89th-minute penalty as The Lions bounced back to winning ways against Sheffield United.
Millwall had taken a 14th-minute lead through Shaun Williams and although his cracker was cancelled out by Stefan Scougall seven minutes later, Morison was on hand to slam home a dramatic late winner from the spot.
Manager Neil Harris had demanded a reaction from his players following the heavy midweek defeat at Peterborough United, and although not the prettiest of performances in the swirling wind, few amongst a Den crowd of 9,058 could argue that The Lions were not worthy winners of this keenly fought contest.
Harris made two changes to the side with Williams and David Worrall replacing Jimmy Abdou and Shane Ferguson, both of whom dropped to the bench.
After a fairly even start in which both sides whipped over a couple of dangerous deliveries, but without testing either goalkeeper, it was Millwall who made the breakthrough just before the quarter-hour mark.
There seemed to be nowhere for Williams to go when he picked up the ball 20 yards out, but the midfielder shimmied past two United players and then took aim with an angled left-foot drive that flew into the bottom corner beyond the reach of debutant keeper Simon Moore.
However that joy was short lived and by the 21st-minute the visitors had drawn level when Scougall's shot seemed to slip through the legs of both Tony Craig and then the wrong-footed Jordan Archer, who could only look on as the ball squirmed over the line.
Millwall responded and Morison powered a header from Worrall's inviting 26th-minute delivery over the bar as The Lions tried to regain the lead.
Morison was so nearly played in on goal by strike partner Gregory who did well to get a touch on the ball from a long clearance by Archer, but the big boot of a Blades defender intercepted and the ball was cleared.
The Lions came flying out of the traps at the start of the second half and Gregory spurned a good chance to put Millwall ahead within seconds of the restart. Skipper Craig pumped a long free-kick into the danger zone, the ball was deflected into Gregory's path but his hooked shot flew high and wide of the target.
Keeper Moore, making his first start for The Blades after signing from Cardiff City less than 24 hours before kick-off, had to be alert and raced off his line to clear with Gregory and Morison charging down on goal as the home side continued to prise and probe in a bid to grab that elusive second goal.
Moments after Moore's clearance, Gregory was a whisker away from edging the home side ahead. There were 62 minutes on the clock when centre-half Byron Webster embarked on a mazy run deep into the United half and threaded a sublime ball through to Gregory. The crowd held their breath as the striker's low shot looked to be heading towards the bottom corner, only for the ball to curl inches away from the target at the very last moment.
Harris introduced Ferguson for Aiden O’Brien and then Fred Onyedinma for Gregory shortly after the latter received treatment following a heavy challenge.
The Lions, encouraged by the home fans once more, kept their foot on the gas as the game headed towards the final five minutes of normal time. Worrall's cross from the right was headed towards goal by Morison, only for Moore to come out and collect the striker's header across the face of goal.
Morison was denied again, this time with three minutes left when the keeper flung himself low to his left to claw away a goal-bound shot that was arrowing towards the bottom corner.
However he was not to be denied and when Ferguson's cross was inexplicably handled by Jack O'Connell in the box, up stepped Morison to send Moore the wrong way from the spot and claim three valuable points for Millwall.
Millwall: Archer, Martin, Craig, Williams, Worrall, Thompson, Gregory (Onyedinma, 82mins), Romeo, Webster, Morison, O'Brien (Ferguson, 70mins). Subs not used: Wylde, Nelson, Abdou, Philpot, King.
Scorers: Williams (14mins), Morison (89mins, pen)
Sheffield United: Moore, Hussey O'Connell, Basham, Scougall (Chapman, 82mins), Sharp (Done, 65mins), Coutts, Freeman (McNulty, 90mins), Wilson, Duffy, Clarke. Subs not used: Ramsdale, Wright, Wallace, Whiteman.
Booking: O'Connell (89mins)
Scorer: Scougall (21mins)
Ref: A Woolmer
Att: 9,058 (away 785)