Patrick Bauer scored the winner for the Addicks inside the final six seconds of stoppage-time to send his team-mates and at least half the Wembley crowd into wild celebration as Sunderland collapsed to the ground in anguish.
Charlton goalkeeper Dillon Phillips had gifted the Black Cats an early lead when he switched off just five minutes into the match.
Phillips passed the ball out of his area to defender Naby Sarr, and wasn't paying attention when Sarr elected to pass it back to his goalkeeper, leaving Phillips to scramble back after the ball as it headed into the goal.
Luckily for Phillips, he was presented with an opportunity to make amends in the 12th minute when he dived to his left to turn a fierce Grant Leadbetter shot around the post, and that save would prove even more crucial when Ben Purrington pulled the Addicks level 10 minutes before half-time to send the sides in level at 1-1.
The second half was no less frantic, but presented fewer goal-scoring chances, although both sides had good opportunities to seal it, Lewis Morgan getting his feet in a tangle when Sunderland looked odds on to score and Josh Parker failing to send an improvised flick towards goal for Lee Bowyer's Charlton.
With the game seemingly headed for extra-time, Charlton went on the attack one last time. Josh Cullen took possession on the left wing, and swung in a dangerous cross for Bauer, and while the skipper's first effort was blocked, he was quickest to react and bundled the ball home for the winner.