Marvin Sordell’s third-minute goal had looked like giving the Addicks a lifeline at the foot of the Championship table.
But substitute Marc-Antoine Fortune levelled in the 89th minute with a cool finish to convert fellow replacement Josh McEachran’s exquisite through ball.
And with 90 minutes on the clock, Wigan’s third sub, Jordi Gomez, curled a delicious free-kick around the wall and into the net for a dramatic winner.
While Wigan deserve huge credit for the way they stuck at their task, it was undoubtedly cruel on Charlton who had led from virtually the first kick of the game.
With barely two minutes on the clock, Johnnie Jackson supplied the opening and Sordell beat Ali Al Habsi with a cool finish.
The Wigan goalkeeper had kept five clean sheets in his last 10 matches, but will not have been impressed with the ease Charlton cut through his defence.
Charlton were forced into a change shortly after when Rhoys Wiggins had to be replaced by Harry Lennon. The visitors then had to dig in with Wigan doing their utmost to get back into the game.
Callum McManaman fired past the post, before being denied by goalkeeper Yohann Thuram-Ulien.
After stemming the tide, Charlton nearly doubled their advantage midway through the half.
Reza Ghoochannejhad saw a long-range effort parried away by Al Habsi, before unleashing a dipping volley that came back off the crossbar.
Al Habsi then had to come racing off his line to deny Sordell again as the Addicks continued to attack on the break.
A nice move involving James McClean and Chris McCann then saw McManaman curl against the Charlton bar.
And the visitors were grateful to hear the half-time whistle when McManaman drove inches over the top.
Wigan thought they had equalised moments after the restart when McManaman’s shot from distance led to a scramble in the area.
Nicky Maynard prodded the ball home from close range, but the offside flag was up.
Wigan made a double change ahead of the hour mark, Fortune and McEachran for Maynard and McCann.
And from then on it seemed a case of not if, but when Wigan would level the scores.
Watson was twice denied by the goalkeeper, before his free-kick was headed inches wide by Emmerson Boyce from close range.
McClean then saw a shot deflected agonisingly past the post, which was the cue for Gomez to enter the fray with 15 minutes left.
Charlton thought they had seen the match out when Leon Barnett headed over from six yards.
But that was before McEachran threaded a lovely ball through for Fortune to slide into the bottom corner.
And there was to be one final twist in the tale when Gomez floated home a superb free-kick from 20 yards that the goalkeeper could not keep out.