Carl Cort gave the Bees the lead two minutes after coming on at the interval when he diverted Marcus Bean’s cross-shot home from close range.
But Charlton took just 10 minutes to level after Chris Dickson was brought down in the box by home goalkeeper Lewis Price.
Nicky Bailey drilled the spot-kick into the roof of the net to set up a grandstand finish.
Referee Andy D’Urso waved away two strong penalty shouts from the home side as Brentford piled on the pressure with Charlton always looking to hit them on the break.
Bees substitute Sam Saunders came closest to a winner with 15 minutes remaining when his curling free-kick smashed against the visitor’s crossbar.