Sean Dyche's Clarets, chasing a fourth straight victory at Turf Moor, were a man down after 15 minutes when Kieran Trippier handled on the goalline with little intent amid a penalty-box melee.
Johnnie Jackson's spot-kick was kept out by Burnley goalkeeper Lee Grant and opposite number Ben Hamer had to be alert to prevent Brian Stock and Michael Duff before half-time.
The hosts continued to push, with free-scoring striker Charlie Austin predictably providing their main threat, but Haynes atoned for a first-half miss by converting Rob Hulse's knock down in the 69th minute.
Charlton climb to 14th in the table, edging above their beaten opponents on goal difference.
Following a cagey start by both sides, a poor clearance from Hamer presented Chris McCann with a chance that he drilled over the bar.
Austin collected his Championship player of the month award on the pitch before kick-off and almost added to his 20-goal haul in the 12th minute, heading Trippier's cross over the angle of post and bar.
Trippier's next involvement was more unfortunate. Rampaging Charlton full-back Chris Solly rattled the post and in the ensuing scramble the former Manchester City trainee twice cleared off the line.
Referee Robert Madley adjudged the first block to be handball and dismissed Trippier, only for Grant to plunge to his right and superbly turn Jackson's spot-kick around the post
The 10 men were almost ahead after the half hour when Brian Stock's rasping 30-yard shot had Ben Hamer at full-stretch to turn behind before the Addicks keeper denied Michael Duff from the subsequent corner with his legs.
It might have been 10-a-side on the stroke of half-time when Hulse appeared to catch Shackell with a swinging elbow, but he escaped with a ticking off.
Burnley continued to create chances after the interval and Austin fashioned one of his own marking, bundling Jonsson off the ball and curling wide from the edge of the box. He then glanced wide from Dean Marney's cross as the hour approached and he would come to rue an uncharacteristic miss.
Jackson was the provider and Hulse headed back across goal to leave Haynes with a simple finish. Burnley pressed for the equaliser but Hamer denied Austin in the closing minutes.