Darren Pratley heaped more home misery on Millwall with a 68th-minute winner as Bolton Wanderers clinched three crucial points in Friday night's basement battle at The Den.
Pratley smashed home an unstoppable goal from Lee Chung-Yong's pass to extend Bolton's unbeaten run to seven games and condemn The Lions to a third successive defeat on home soil.
It was a night of disappointment and frustration for Ian Holloway's charges, who had a clear penalty appeal turned down by referee Stuart Attwell when Lee Gregory was sent to ground by Trotters keeper Andy Lonergan, but to the disbelief of the home camp, play was waved on.
To make matters worse, Lonergan - who arguably should have been shown a red card - then produced a superb save in the dying seconds to deny Martyn Woolford an equalising goal for Millwall.
Lions boss Ian Holloway was forced to make one change to the team that started against Brighton, with Alan Dunne returning to the centre of defence alongside Danny Shittu in place of Mark Beevers, who was sidelined through illness.
Bolton, including a trio of former Lions players in their ranks, started brightly and in the first-half the majority of their attacking play involved impressive midfielder Lee.
Twice in the opening eight minutes Lee broke down the right flank into dangerous positions, but first saw his low cross flash across the face of goal before despatching an inviting delivery that was met by the head of Tim Ream, and superbly parried by keeper David Forde in the home goal.
The Lions absorbed early pressure from the visitors and gradually got into their stride with a slipped pass from Magaye Gueye nearly finding its way through to Gregory, but Trotters skipper Matt Mills managed to get a toe to the ball and clear.
A couple of deliveries from Scott McDonald were cleared by Bolton whilst at the other end Rob Hall's free-kick was headed goalwards by Mills, but the ball nestled comfortably into the hands of keeper Forde.
The best chance of the opening half fell to Gregory on 23 minutes when Forde's pass was played into his path by Gueye, but the striker sent an angled drive narrowly wide of the target.
Angel was a whisker away from marking his home debut for The Lions with a goal a couple of minutes before half-time, but volleyed narrowly wide following a slick move involving Gueye and Andy Wilkinson on the right.
The Lions were left bemoaning their luck when Gregory was sent sprawling as he tried to round keeper Lonergan, only for loud appeals for a spot-kick to fall on deaf ears.
Former Swansea City midfielder Pratley squandered a couple of opportunities to put Bolton ahead, first heading over before curling an effort wide of the far post when he worked his way into a promising position.
It took a great block by Dunne to deny Pratley the opener on 61 minutes, and former Lions Liam Trotter forced Forde into a flying save seconds after his introduction, hitting a dipping effort from 25-yards that the keeper did well to parry at full stretch.
However there was little Forde could do to prevent the visitors taking the lead and when Pratley was played in by Lee, he made no mistake with a thumping shot into the far corner.
The Lions huffed and puffed in a bid to get back on level terms but just could not find that necessary quality in the final third of the field to really test Bolton. On the rare occasion they did, Lonergan raced off his line to thwart Woolford in the dying seconds.
It could have been even worse for Millwall, but thankfully Forde was equal to former Lion Conor Wilkinson's long-range drive as Bolton came close to claiming a second goal.
In the end, however, Pratley's strike proved decisive for a win that takes Bolton up to 14th in the table and a defeat that leaves The Lions five points away from the bottom three.
Millwall: Forde, Wilkinson (Abdou, 77mins), Malone, Shittu, Dunne, Williams, Angel, Woolford, McDonald (Fuller, 55mins), Gueye (Martin, 57mins), Gregory. Subs not used: King, Briggs, Webster, Easter.
Dunne (38mins), Shittu (56mins)
Lonergan, Vela, Mills, Dervite, Ream, Danns, Pratley, Feeney, Hall (Wilkinson, 83mins), Lee, Gudjohnsen (Trotter, 62mins). Subs not used: Bogdan, Moxey, Spearing, Wheater, Clough.
Danns (22mins), Mills (82mins), Pratley (90mins)