Ryan Lowe nudged the hosts ahead with his seventh goal in seven games but Paul Hayes and Johnnie Jackson struck to keep the Addicks second.
Chances were few and far between during a dull first half and Dale Stephens went closest for Charlton with a fizzing long-range effort.
But Lowe produced something from nothing to break the deadlock, curling a sublime 30-yard free kick over the wall and into the far corner of the net.
Addicks keeper Ben Hamer prevented David Worrall from doubling Bury's lead and the visitors levelled four minutes after the break. Jackson crossed from the left and Hayes' header found the corner, even though Cameron Belford got a hand to it.
Lowe wasted two good chances to restore his side's lead and Bury paid the price. Stephens bisected the defence with a delightful through ball and Jackson rifled a first-time shot past Belford.