Matt Smith snatched a dramatic late winner in injury time as Millwall beat rivals Charlton at The Den.

The substitute, who had been brought off the bench just minutes earlier, cancelled out a Jonathan Leko equaliser when he headed home Jed Wallace’s corner.

Millwall, who have not lost to Charlton in 23 years, are now eight points above the drop zone. Charlton, meanwhile, are on a run of four games without a win and slide down to 11th in the table.

Adam Matthews and Leko was drafted in for the south London derby as Lee Bowyer made two changes to the team which lost 1-0 to Preston last time out.

Meanwhile, new Lions boss Gary Rowett opted for just one change, swapping out Shane Ferguson for Jon Dadi Bodvarsson, following the 2-1 defeat to Reading.

Shaun Hutchinson handed the hosts a dream start after just five minutes when he rose highest to guide home Shaun Williams’ cross from an indirect free-kick.

Millwall looked in control during the early stages, as goalkeeper Dillon Phillips was forced into a low save to stop a powerful Mahlon Romeo strike.

Charlton struggled to cope with the pressure but eventually overcame their shaky start, and twice went close to levelling the scores during the first half.

Josh Cullen’s stinging long-range effort was thwarted by goalkeeper Bartosz Bialkowski before it then hit the bar and bounced away. The visiting supporters thought they had scored but officials did not signal for a goal.

And then, shortly before the break, a Macauley Bonne volley drew a stunning save from the goalkeeper Bialkowski at close range to deny an equaliser.

Charlton trailed at half-time but got back on level terms six minutes into the restart when Naby Sarr found Leko in the box to hit home his third goal this season. Bialkowski had initially denied Darren Pratley inside the box but could not keep out Leko.

A strong Phillips save to deny Ben Thompson’s volley, as Millwall pressed to retake the lead, was the most notable moment as the second half was largely devoid of scoring chances.

It was not until the 91st minute that the deadlock would be broken when substitute Smith climbed above Sarr to head home his fourth this campaign.

Millwall: Bialkowski; Romeo, Hutchinson, Cooper, M. Wallace; J. Wallace, Molumby, Williams, Thompson (O'Brien 86); Bradshaw (Smith 86), Bodvarsson (Mahoney 78).

Subs not used: Steele (GK), Ferguson, Pearce and Skalak.

Charlton: Phillips; Matthews, Lockyer, Pearce, Sarr, Purrington; Pratley (Kayal 67), Cullen, Gallagher; Leko (Lapslie 84), Bonne.

Subs not used: Maynard-Brewer (GK), Solly, Oshilaja, Oztumer and Davison.