Darius Henderson struck in stoppage time as Millwall ended a run of three successive defeats at Burnley.
Liam Trotter gave the visitors a third-minute lead, curling home on the edge of the area.
Ben Mee headed home an equaliser from a 19th-minute corner before Charlie Austin's powerful header put Burnley ahead.
The home side looked to have done enough for the win but Henderson scored a late leveller from 10 yards.
Things started badly for Burnley as they were forced into a last-minute change to their line-up as captain Jason Shackell was injured during the warm-up.
It got worse as Millwall took the lead just three minutes in as Trotter received a pass from Andy Keogh on the edge of the area and the midfielder curled a shot into the far corner.
Burnley immediately set about scoring an equaliser as Ross Wallace, Mee and Chris McCann all had chances.
The home side's leveller arrived midway through the first half when Mee jumped highest to nod home from Junior Stanislas's corner.
In-form Austin scored his eighth league goal of the season to give Burnley the lead before half-time, heading beyond goalkeeper David Forde from Kieran Trippier's cross.
Burnley had the ball in the back of the net again just after the hour mark when Stanislas finished off a one-two move, but it was ruled out for offside.
Substitute Henderson then ensured Millwall a point, before he was denied a last-minute winner by the bar.
Burnley boss Eddie Howe on Stanislas's disallowed goal: "I've not had an explanation from anyone yet. It was a bitter blow for us because I thought we were 3-1 up for a long time and the crowd did as well.
"I have never seen a decision like that in football before in all my life. It was very, very cruel on us because you think that with a two goal cushion it is game over.
"We then had to play the rest of the game out with just one goal in it and it was a psychological blow for us."
Millwall manager Kenny Jackett: "I think [Stanislas's ruled-out strike] was definitely the right decision. I couldn't believe the referee was going to give it. Martin Paterson was clearly offside.
"We showed terrific spirit and we could have won it right at the death. When you have lost three games on the trot, you need a draw to stop the rot and the players should take confidence from that second half.
"I felt in the second half it was an excellent performance and we thoroughly deserved the result. We dominated the second half and created a high number of chances."