Millwall 1, Norwich City 1
Eighteen-year-old John Marquis scored seconds from the end of stoppage time to deny Norwich City their fourth Championship away victory of the season.
Marquis, making his full debut for Millwall, bundled the ball home from a corner by former Carrow Road loan winger James Henry in the fourth minute of time added on.
In a game of few clear-cut chances, David Fox put the Canaries ahead in the 75th minute with a powerful rising shot after substitute Matt Gill's throw-in was only half-cleared.
Fox's first goal for the club brought a warm glow to nearly 1,400 travelling City fans in a crowd of just over 10,000 on a bitterly cold night at The Den - but there was a sting in the tail.
Millwall had enjoyed the slightly better openings in the first half, when goalkeeper John Ruddy saved from Danny Shittu and Marquis.
You may also want to watch:
But the Canaries seldom looked under threat in the second period, especially after Fox had given them the lead.
City boss Paul Lambert was without seven senior players, with midfielder Andrew Crofts, serving a one-match ban for his sending-off against Burnley, and full-back Steven Smith, ruled out by a hip injury, added to the five longer-term casualties.
- 1 Neighbours' horror after two people found dead in 'peaceful close'
- 2 Reward of £20,000 offered after theft of performance car worth £150,000
- 3 Man, 41, charged with Pat Holland's murder as human remains found
- 4 Man arrested on suspicion of murder after woman dies in village
- 5 When are GCSE and A-level results out and how fair will grades be?
- 6 Brother and sister found dead in their home are named
- 7 Villagers in shock after woman dies in suspected murder
- 8 Woman who bit an officer among eight people arrested in town
- 9 Norwich pub to temporarily close this summer because of 'pingdemic'
- 10 Twin Bakes sell out of treats during first pop-up sale
David Fox and Anthony McNamee were included in the starting eleven, while the other substitute used on Saturday, striker Chris Martin, was preferred to Simeon Jackson.
Lappin was at left-back with McNamee playing wide left.
City forced the first corner after three minutes but Fox's kick was a simple catch for Forde.
There was an early alarm when a cross from Henry beat Fox's attempt to cut it out, but Russell Martin was back to clear.
City's first real opening came in the ninth minute when Holt found Martin in the inside-right channel and his low shot was pushed past the post by the diving Forde.
A shot by former City loanee Henry struck Fox as Millwall pushed forward in response.
Millwall forced their first corner in the 19th minute when Lappin headed clear from Henry's cross.
The best effort yet came in the 21st minute when Ruddy had to dive to his right to keep out a powerful Shittu shot at the expense of a corner.
Grabban crossed from the right to set up Marquis for a header at the far post but his downward effort lacked power and was easily gathered by Ruddy.
Chris Martin needed attention when he went down clutching his face, appeaiing to protest that he had been caught by Shittu.
Shittu was next to be caught in the face after a clash with Holt and referee Haywood called captains Holt and Robinson together for a lecture.
Things were becoming heated and Elliott Ward was none too impressed to be penalised for a foul on Marquis, sparking an argument between the defender and Grabban.
The resulting free-kick by Henry was deflected wide for a corner and when the flag-kick was half-cleared, Henry fired over the top from outside the penalty area.
Henry missed a decent chance to break the deadlock three minutes before half-time when he shot over from Schofield's cross.
Millwall finished the half on top and Ruddy made an important save from Marquis' header, following a cross from Henry. HALF-TIME: Millwall 0, Norwich City 0
Marquis got his head to a Grabban cross two minutes after the break, but Ruddy smothered his effort by his right-hand post.
Grabban wasted one opening when he fired into the side netting after Trotter put him through.
Korey Smith showed good footwork before swinging a centre across the six-yard box, but just out of reach of Holt.
There were appeals for handball when a cross by Grabban struck Lappin, but referee Haywood was unimpressed and play switched to the other end where Holt teed up Chris Martin for a shot that was deflected wide.
Millwall made their first change on the hour when Darren Ward, brother of City defender Elliott, replaced Grabban. Ward took up his normal centre-half position, Shittu being pushed into attack alongside Marquis.
Marquis earned the first yellow card for a challenge that left Barnett needing attention, then, with 25 minutes left, City made a double change with Gill and Jackson replacing McNamee and Hoolahan.
Korey Smith produced one of Norwich's few shots on target after 72 minutes when set up by Chris Martin, but his 20-yard curler was no problem for Forde.
But three minutes later Fox went one better with a superb finish to put the Canaries ahead.
Gill's throw from the left hand side was headed clear but only as far as Fox, who thumped a powerful rising shot past Forde from just inside the Millwall area.
Holt picked up a late booking for a foul on Mkandawire.
Dunne tried his luck from long range with seven minutes left but was behind his effort, and Henry pulled another shot wide.
Holt shot wide after going through at the other end in a bid to wrap up the points.
Millwall skipper Robinson was booked for a foul on Holt two minutes from time, though it seemed a harsh yellow card.
In the last seconds of four minutes' additional time, Marquis bundled the equaliser home from a Henry corner. RESULT: Millwall 1, Norwich City 1