Tariqe Fosu opened the scoring from the penalty spot midway through the first half to give Lee Bowyer’s side the lead.
But two late goals from Henry Cornick and James Collins seemed to have wrapped up the points for Luton until Solly’s intervention.
Lee Bowyer made two changes to the side that beat Plymouth. Fosu and Igor Vetokele came in for Jamie Ward and Karlan Grant who were suffering from minor knocks, though Grant was fit enough to be on the bench.
The game got off to a lively start with Ben Reeves and Lyle Taylor having chances for Charlton, and Pelly-Ruddock Mpanzu having an opportunity for the Hatters.
But it was the visitors who took the lead midway through the half. Joe Aribo was brought down after driving into the box on the right.
Fosu was on penalty duties following Lyle Taylor’s miss last week. He waited for James Shea to move before coolly slotting the ball to the keeper’s left.
The Addicks were reasonably comfortable for much of the match, but Nathan Jones’ side stood the game on it’s head late on.
Jed Steer failed to reach a flick on after 74 minutes, leaving Cornick with the simple task of putting the ball past him to level things up.
Seven minutes later Mpanzu hit the inside of the post, and the ball bounced out for Collins to put the hosts ahead.
Charlton went in search of the equaliser, with Jason Pearce going up front as the game entered the five minutes of added on time.
There was an incredible sequence of events leading up to the equaliser.
Pearce thundered a header against the bar. Sarr’s looping header from the rebound was cleared off the line for another corner.
This time Joe Aribo hit the bar, and Luton scrambled the ball away for another corner.
It proved to be third time lucky for the Addicks. Collins cleared the ball as far as the edge on the area. It dropped nicely for Solly to crash an unstoppable shot into the far corner. There was 96 minutes on the clock.
It was the right-back’s first goal since he netted at Blackpool six years ago.
It was a thoroughly deserved point for Bowyer’s team. They have resilience and spirit by the bucket load, something the manager was quick to acknowledge after the game:
“We definitely didn’t deserve to lose the game, I think a draw was a fair result. They’re a good side, and they tested us at times.
“It was a poor first goal to concede and that gave them a lift. They caused a bit of trouble but they weren’t really hurting us and we were dealing with what they were throwing at us.
“The first goal is frustrating because I think we win the game if we don’t concede that. Overall, it’s a good point.
“When you’re 2-1 down going into injury time and they keep fighting and pushing, it just shows the fighting spirit that they have. They keep believing, they don’t want to lose and they never gave in until the end.
“They’re still disappointed that they didn’t win, That just shows the expectation. They push each other and demand from each other all the time.”
Bowyer explained that it was his decision for Solly to lurk on the edge of the box:
”I said to him (Sollly) ‘get on the edge of the box’ because they didn’t have anyone up. Thankfully it fell to him and he got the goal.
“We deserved it, we hit the bar twice and I thought it was going to be one of those days. We could have had another penalty when Lyle was pulled back and he gave a similar foul just after outside the box.”
Next up for the Addicks is a trip to Scunthorpe on Tuesday.
Charlton: Steer; Solly, Pearce, Sarr, Page; Cullen, Aribo, Reeves (Lapslie 83), Fosu (Ajose 85); Taylor, Vetokele (Grant 76).
Subs (not used): Phillips, Dijksteel, Marshall, Pratley.
Goals: Fosu 23, (pen), Solly 95.
Booked: Page 62 (delaying free-kick), Cullen 68 (foul).
Luton Town: Shea; Potts, Bradley, Pearson, Stacey; Lee, Shinnie (Justin 90), Rea, Mpanzu, J Grant (Cornick 66), Collins.
Subs (not used): Isted, McCormack, LuaLua, Jarvis, Sheehan.
Goals: Cornick 74, Collins 81.
Booked: 64 (foul).
Referee: Antony Coggins (Oxfordshire).
Attn: 9,502 (1,032 Charlton).