The Lions started brightly and an early cross from O'Brien caused panic in the Trotters' box before the ball was eventually scrambled clear.
It took a smart save from David Forde to avert the danger from the dangerous Le Fondre seconds later as he collected a cross from former Lion Liam Feeney and produced a deft flick that the keeper did well to collect on the line.
However there was little Forde could do to prevent Le Fondre from breaking the deadlock after 10 minutes as he latched onto a long forward ball from Tim Ream, edged forward and dispatched a low shot beyond the keeper's reach.
The Lions, operating a 4-4-2 system with O'Brien and Upson on the flanks with Gregory and Gary Taylor-Fletcher up front, kept plugging away but just couldn't get that rub of the green where it mattered most, in front of goal.
It was Bolton who added a second goal right on the stroke of half-time when Eidur Gudjohnsen's through ball picked out Le Fondre, who moved forward as the Millwall defence stood back and then curled home his second of the afternoon into the top corner.
Bolton made one change at the break with midfielder Neil Danns replaced by Giles Coke, possibly to avoid the midfielder being sent off. Danns had been yellow carded early on for a crude challenge on Shaun Williams with the score at 1-0 and could then count himself very lucky to not receive a straight red following a wild tackle on Jos Hooiveld.
It was Millwall who certainly enjoyed both better spells of possession and created the better chances in the second period. Although Bolton went close with a Tom Walker effort that flew narrowly wide soon after the restart, Harris' charges responded to his half-time team talk positively and in the end could count themselves unlucky not to have come away from the game with at least a share of the spoils.
Twice Lions players found themselves in one-on-one situations with the keeper, but could not convert their opportunities, firstly when Coke was dispossessed 40 yards from the Millwall goal and Upson's measured pass sent Gregory racing through on goal, only for Amos to block the striker's tame shot.
Amos then kept out an even better chance for O'Brien, who was played in on goal by a delightful defence-splitting pass from Gregory.
With Fuller and Cowan-Hall now involved, Millwall continued to grow in confidence and The Lions almost pulled one back in the 75th minute when O'Brien's snapshot from the edge of the box found the target, but keeper Ben Amos was equal to the strike.
It took a wonderful fingertip save from Forde to claw away a 25-yard free-kick from Walker as Bolton briefly threatened, but Millwall finished the game pushing on and looking to take advantage of a clearly nervous home rearguard.
Despite not being able to take anything out of the game, there were plenty of positives and still hope that all is not lost just yet as The Lions look to hold on to their Championship status.
Bolton: Amos, Vela, Mills, McCarthy, Ream, Walker, Danns (Coke, 46mins), Bannan (Trotter, 87mins), Feeney, Gudjohnsen (Davies, 72mins), Le Fondre. Subs not used: Hall, Heskey, Lonergan, Twardzik.
Booking: Danns (31mins)
Scorer: Le Fondre (10, 45mins)
Millwall: Forde, Cummings, Dunne, Hooiveld, Harding, Abdou, Williams, Upson (Cowan-Hall, 66mins), O'Brien (Gueye, 81mins), Gregory, Taylor-Fletcher (Fuller, 59mins). Subs not used: Archer, Beevers, Powell, Maierhofer.
Booking: Dunne (89mins)
Ref: Andy Haines
Att: 14,719 (away 355)