Burnley 2 Charlton Athletic 1
Burnley started brightly and created an early opportunity when debutant loan signing Rhys Williams crossed for Chris McCann, whose shot was deflected over the crossbar.
At the other end, Deon Burton glanced the ball into the path of Lloyd Sam, who saw his shot land on the roof of the net.
Just prior to the half-hour mark after good play from Chris Eagles, the ball arrived at the far post where Robbie Blake pulled it back for McCann, who saw his shot pushed behind by Charlton goalkeeper Rob Elliot.
More good combination work down the left between Blake and Elliot carved open the visitors' defence but Elliot couldn't find the finish the move deserved.
Williams then headed a Blake corner wide while goalkeeper Elliot did well to push a shot from Martin Paterson behind for a corner.
This was taken by Blake and met by the head of Steven Caldwel,l who was unfortunate to see his header cleared off the line by Graeme Murty.
Charlton took the lead against the run of play five minutes before the interval when Nicky Bailey converted a cross from Chris Dickson.
Graham Alexander fired over the crossbar after more good approach play by Elliot, while at the other end Brian Jensen saved at the feet of Tom Soares.
But it was the introduction of Thompson, replacing Eagles after 62 minutes, which was to prove the pivotal point in the match.
Thompson equalised with 14 minutes remaining after Alexander's far post cross was headed back across the six-yard box by Elliot for Thompson to slide home the equaliser.
With 11 minutes remaining, Caldwell had a second header cleared off the line by Murty.
But Charlton's time-wasting tactics were to prove their undoing when the referee added six minutes on for stoppage time during which Thompson grabbed the winner after good approach play from fellow substitute Kevin McDonald .