Charlton had taken the lead through Andy Gray's seventh goal of the season, before Nathan Ellington scored Derby's first away goal in seven hours and 45 minutes from the spot.
Martyn Waghorn, on loan from Sunderland, had put the Addicks back in front but Ellington struck again deep into stoppage time to salvage a point for Derby.
Charlton's caretaker manager Phil Parkinson had made six changes to his side, including relegating veteran keeper Nicky Weaver to the bench, with youngster Rob Elliot making only his third career start between the posts. The changes seemed to work, as Charlton started the game brightly.
Indeed, Charlton pressed hard in the first half, with Lloyd Sam hitting a post, before Gray fired the hosts in front, latching on to a Jose Semedo throughball before turning and shooting low into the net.
It was no more than Charlton deserved, and they held on to the lead in the face of some Derby pressure going into the half-time break.
Rams boss Paul Jewell introduced former Forest winger Kris Commons at half-time in an attempt to create an attacking spark, but Charlton started the second half better, Hameur Bouazza firing just over the bar from a free-kick.
But Derby were level on 62 minutes when referee Andy D'Urso awarded a penalty following a handball by Semedo. The ball bounced up against the Charlton man's arm, and D'Urso had no option but to point to the spot and Derby striker Ellington made no mistake from 12 yards.
However, Charlton were back in front just two minutes later, youngster Waghorn's deflected shot finding the net after good work once again by Sam.
Charlton finished strongly but were hit by a Derby sucker-punch three minutes into stoppage time. Paul Connolly's long throw into the Charlton box wasn't cleared properly and Ellington pounced to finish sweetly from six yards to snatch a point the Rams barely deserved.