Full-time score from The Den
Greg Halford's eighth minute winner consigned Millwall to their 11th home defeat of the season and Sheffield Wednesday's defeat at Peterborough United this evening leaves The Lions' Championship status hanging in the balance.
Kenny Jackett's men went into action against Play-Off chasing Nottingham Forest knowing that victory would be enough to see off the threat of relegation.
But Wednesday's loss at London Road means The Lions must now win one of their two remaining matches against Crystal Palace or Derby County to be be sure of safety.
Halford's goal - a powerful header from Andy Reid's corner - settled a tight, tense affair.
Shaun Batt, playing in a central striking role, did well to create space on five minutes and his shot was blocked for a corner.
But it was Billy Davies' side who took the lead from their first corner of the game when Halford was allowed time and space to plant a firm header past the reach of David Forde.
The keeper was called into action shortly after and did well to keep out Radoslaw Majewski’s 20-yard shot.
George Saville, making only his second start for Millwall, fired over before The Lions had a penalty appeal waved away when Batt went to ground following a challenge by Danny Collins, but the referee played on.
The visitors then saw a penalty claim of their own turned down when Simon Cox went down and referee Kevin Wright ignored their appeal.
The Lions tried to work up a head of steam and James Henry twice had attempts on goal; firstly with an angled shot from 14 yards that flew wide and then firing into the side netting from a tight angle after he was played through by Saville.
Hard as Millwall tried, they found it difficult to really get into any attacking gear.
Lions boss Jackett made a double substitution on 62 minutes replacing Batt and Tyson with John Marquis and Andy Keogh but it was Forest who drove forward with Forde, producing a spectacular save to deny Forest sub Marcus Tudgay.
Forest breathed a sigh of relief when Keogh was a whisker away from connecting with Karleigh Osborne's flick from a Henry corner.
Unfortunately that was about it as far as scoring chances were concerned for Millwall and in fact it could have been even worse had Henri Lansbury's 88th-minute volley not flown over the bar.
Forde, Dunne, A.Smith, Abdou, Beevers, Osborne, St Ledger, Saville (Feeney, 79mins), Batt (Marquis, 81mins), Tyson (Keogh, 61mins), Henry. Subs not used: M.Taylor, J.Smith, Easter, Wright.
Nottingham Forest: Darlow, Harding, Collins, Guedioura, Reid (Moussi, 85mins), Halford, Cox, Lansbury, Sharp (Tudgay, 71mins), Majewski (McGugan, 60mins), Ward. Subs not used: Greening, Blackstock, Ayala, Al-Rashidi.
Bookings: Ward (42mins), Cox (88mins)
Scorer: Halford (8mins)