The on-loan Chelsea striker set up Johnny Russell for Derby’s opener and then pounced on a mistake by Charlton skipper Johnnie Jackson to bag his seventh for Derby and his 24th of the season.
Charlton forced several excellent saves out of Lee Grant but Derby’s top scorer Chris Martin settled the contest six minutes from time when he headed in a corner.
Derby passed the ball around smoothly from the start but it was Charlton who came close to opening the scoring in the 14th minute when Marvin Sordell laid the ball off and Reza Ghoochannejhad hit a low shot from the edge of the box which Grant pushed behind for a corner.
Craig Bryson, who scored a hat-trick a week ago against Nottingham Forest, almost found the net again with a volley which whistled just wide before Derby went ahead in the 18th minute.
Jeff Hendrick played the ball in from the right and Bamford swept it across to Russell who was given too much space to turn and fire low past Ben Hamer from 12 yards.
Derby were firmly in control and they almost scored again in the 29th minute when a Bryson corner was headed powerfully by Richard Keogh, but the ball struck a team-mate and went over the bar.
Charlton won a free-kick just outside the penalty box on the half-hour but – although Jackson got the ball over the wall – it went straight at Grant who did well to hold an in-swinging corner in the strong wind minutes later.
But Derby carried the greater threat and they increased their lead in the 38th minute when Jackson tried to head the ball back to Hamer but it fell to Bamford at the back post and he squeezed a low shot past Hamer’s right hand.
Hamer denied Andre Wisdom a third in first-half added time and Grant made his second impressive save of the game in the 53rd minute when he plunged to his left to push away a drive from substitute Callum Harriott.
Charlton were starting to ask questions of Derby and Jonathan Obika had a shot blocked when he got in on the right before Grant made another diving save to deny Joe Piggott in the 61st minute.
The visitors had certainly rattled Derby who were giving the ball away but they still had a two goal cushion and Russell almost made it three when he shot just wide from the edge of the area in the 81st minute.
But Derby sealed victory three minutes later when Conor Sammon won a corner and Bryson found Martin, who glanced a near-post header across Hamer for his 19th of the season.