Bolton earned a point against Millwall courtesy of a Keith Andrews penalty.
The promotion-chasing visitors had themselves taken the lead from the spot after Andy Keogh chipped in from 12 yards following a foul by Zat Knight.
But, after Danny Shittu fouled Lee Chung-Yong, Andrews beat keeper David Forde from the resulting spot-kick.
Forde impressively saved a Marcos Alonso shot late on before Kevin Davies had a header cleared off the line at the other end by Danny N'Guessan.
Following their first ever visit to the Reebok Stadium, the Lions are two points shy of the play-off places.
Bolton's chances of mounting a late challenge for promotion, meanwhile, are looking increasingly unlikely as they are 10 points away from the top six.
The home side had only themselves to blame for going behind, though, as Millwall's Liam Trotter seized on Tim Ream's poor pass before releasing Keogh.
The striker had his heels clipped by Knight in the area before picking himself up and nonchalantly converting the inevitable penalty.
Shittu's clumsy challenge on Lee let Andrews reply for Bolton after 34 minutes before the hosts had stifled appeals for handball against the Millwall defender waved away.
Bolton applied some late pressure for a winner but to no avail as Alonso had a shot saved by Forde, a Davies header was hacked clear and substitute Marvin Sordell sent a shot wide.
Bolton manager Dougie Freedman:
"The players showed tremendous effort throughout that performance and that was the most pleasing thing for me.
"If I have any criticisms we were a bit wasteful and our decision making wasn't good enough.
"I think when the goal went against us made us up the tempo and I felt in the second half we gave everything we had."
Millwall boss Kenny Jackett:
"We had a bit of a threat on the break but overall we have got four points out of six against Bolton which is great against a team that have come down from the Premier League.
"The first half we played well and caused Bolton problems. In the second half it was a rear-guard action from us and we defended well for long periods.
"In terms of the table and where it leaves us we are still in there with a shout."
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +2:52
Corner taken by Shane Lowry from the right by-line.90:00 +1:32
Liam Trotter produces a drilled left-footed shot from 20 yards. Save made by Adam Bogdan.90:00 +0:58
Kevin Davies gives away a free kick for an unfair challenge on Shane Lowry. David Forde takes the direct free kick.90:00 +0:41
Shot from 30 yards from Jay Spearing. Dany N'Guessan gets a block in.89:58
James Henry challenges David Ngog unfairly and gives away a free kick. Free kick taken by David Ngog.88:58
Corner taken by Jay Spearing, Danny Shittu manages to make a clearance.88:30
Unfair challenge on Keith Andrews by Darius Henderson results in a free kick. Tim Ream restarts play with the free kick.88:03
Free kick taken by David Forde.88:03 Booking
Booking Marcos Alonso goes into the referee's book.87:51
Marcos Alonso gives away a free kick for an unfair challenge on Nadjim Abdou.87:10
Marcos Alonso has an effort at goal from outside the penalty box which goes wide left of the goal.85:39
Effort from the edge of the box by Marvin Sordell goes wide of the left-hand post.85:22
Darius Henderson is flagged offside by the assistant referee. Marcos Alonso takes the indirect free kick.85:04
Unfair challenge on Nadjim Abdou by Kevin Davies results in a free kick. Free kick taken by David Forde.84:23 Booking
Booking David Forde receives a caution for time wasting.83:04
Outswinging corner taken from the right by-line by Jay Spearing.82:37
Jay Spearing takes a inswinging corner.82:16
Shot by Marcos Alonso. Save made by David Forde.81:13
Unfair challenge on David Ngog by James Henry results in a free kick. Direct free kick taken by Marcos Alonso.
Substitution (Bolton) makes a substitution, with Marvin Sordell coming on for Chris Eagles.78:50
Indirect free kick taken by David Forde.78:50 Substitution
Substitution Andy Keogh leaves the field to be replaced by Darius Henderson.78:50
The referee gives a free kick against Benik Afobe for handball.76:52
Corner taken by Chris Eagles from the right by-line.73:10
Free kick awarded for a foul by Dany N'Guessan on Samuel Ricketts. Free kick taken by Adam Bogdan.71:25
Free kick taken by Adam Bogdan.71:25 Substitution
Substitution Benik Afobe is brought on as a substitute for Chung-Yong Lee.71:25
The referee blows for offside.70:40
Inswinging corner taken by James Henry.70:19
James Henry takes the chance to get an effort at goal. Blocked by Zat Knight.68:12
Dany N'Guessan has an effort at goal from outside the area which goes wide right of the goal.67:18
Centre by James Henry.64:35
Long range shot by Keith Andrews goes wide left of the target.63:06
Chris Eagles has a shot on goal from outside the area which misses left.62:18
Keith Andrews takes the free kick.62:18 Booking
Booking Shane Lowry is cautioned.61:55
Free kick awarded for a foul by Shane Lowry on Chris Eagles.60:25
David Ngog has an effort at goal from outside the penalty area which goes wide right of the goal.54:21
Shot by Chris Eagles from deep inside the penalty area misses to the right of the target.52:51
The referee blows for offside. Free kick taken by David Forde.50:12
Kevin Davies produces a left-footed shot from the edge of the box and misses to the left of the goal.49:36
The official flags Dany N'Guessan offside. Tim Ream restarts play with the free kick.49:12
Effort from 20 yards by Chris Eagles. Save by David Forde.47:31
Keith Andrews has an effort at goal from 18 yards. Blocked by Liam Trotter.45:01
The game restarts for the second half.45:00 +4:17 Half time
Half Time It is the end of the first-half.45:00 +3:23
Foul by Jay Spearing on Nadjim Abdou, free kick awarded. Danny Shittu takes the free kick.45:00 +2:09
Dany N'Guessan challenges Marcos Alonso unfairly and gives away a free kick. The free kick is swung in right-footed by Chris Eagles.45:00 +0:04
Jay Spearing has a shot on goal from outside the box which misses left.44:20
Handball by Dany N'Guessan. Adam Bogdan takes the indirect free kick.43:47
Unfair challenge on Shane Lowry by Kevin Davies results in a free kick. Shane Lowry takes the direct free kick.42:30
Chris Eagles takes a inswinging corner.41:41
Centre by Samuel Ricketts, save by David Forde.40:40
Unfair challenge on Keith Andrews by Liam Trotter results in a free kick. Direct free kick taken by Keith Andrews.39:32
Adam Smith produces a right-footed shot from outside the penalty area and misses left.39:02
Corner taken left-footed by Mark Beevers to the near post, David Ngog manages to make a clearance.35:47
David Ngog gives away a free kick for an unfair challenge on Adam Smith. Direct free kick taken by Danny Shittu.34:19
Effort from a long way out by Martyn Woolford goes wide left of the goal.33:59 Goal scored
Goal! - Keith Andrews - Bolton 1 - 1 Millwall Keith Andrews scores a power penalty. Bolton 1-1 Millwall.32:42
Nadjim Abdou gives away a Penalty for an unfair challenge on Chung-Yong Lee.30:35
David Ngog challenges Shane Lowry unfairly and gives away a free kick. David Forde takes the free kick.29:58
Tim Ream fouled by Dany N'Guessan, the ref awards a free kick. Free kick taken by Adam Bogdan.28:45
James Henry has an effort at goal from outside the penalty box which goes wide left of the goal.28:11
Liam Trotter has a drilled shot. Save by Adam Bogdan.27:16
Keith Andrews concedes a free kick for a foul on Liam Trotter. Free kick crossed right-footed by Shane Lowry from left wing, Keith Andrews makes a clearance.25:04
Dany N'Guessan takes a shot. Save made by Adam Bogdan.23:15
David Ngog produces a right-footed shot from just outside the penalty box that misses to the left of the target.22:41
Shot from a long way out by Liam Trotter goes wide of the left-hand post.21:43
Effort from the edge of the area by David Ngog goes wide of the right-hand upright.19:49
The ball is delivered by Chris Eagles, Nadjim Abdou makes a clearance.19:21
Short corner worked by Chris Eagles.18:01
Chung-Yong Lee has an effort at goal from deep inside the area missing to the left of the target.17:21
Nadjim Abdou concedes a free kick for a foul on Chung-Yong Lee. Direct free kick taken by Chris Eagles.16:28
Kevin Davies gives away a free kick for an unfair challenge on Liam Trotter. David Forde takes the free kick.15:11
David Ngog takes a shot. Save by David Forde.14:04
James Henry gives away a free kick for an unfair challenge on Chung-Yong Lee. Keith Andrews takes the free kick.13:06
Free kick awarded for a foul by Adam Smith on Chung-Yong Lee. Keith Andrews takes the free kick.12:32
Mark Beevers fouled by Kevin Davies, the ref awards a free kick. David Forde takes the direct free kick.12:10
Foul by Dany N'Guessan on Tim Ream, free kick awarded. Adam Bogdan restarts play with the free kick.10:18
Danny Shittu challenges David Ngog unfairly and gives away a free kick. Shot on goal comes in from Chris Eagles from the free kick.9:34
Shane Lowry gives away a free kick for an unfair challenge on Chris Eagles. Direct free kick taken by Chris Eagles.9:16
Andy Keogh gives away a free kick for an unfair challenge on Keith Andrews. Keith Andrews takes the direct free kick.8:20 Goal scored
Goal! - Andy Keogh - Bolton 0 - 1 Millwall Andy Keogh scores a placed penalty. Bolton 0-1 Millwall.7:31
Penalty awarded for an unfair challenge on Andy Keogh by Zat Knight.6:11
Inswinging corner taken right-footed by James Henry played to the near post, Chung-Yong Lee manages to make a clearance.5:20
Kevin Davies is caught offside. David Forde takes the indirect free kick.3:18
Nadjim Abdou has an effort at goal from outside the penalty box missing to the wide right of the goal.0:00
The game begins.
Live data and text provided by our data suppliers