Charlton fell to a second defeat in three days as fellow promotion-hopefuls Barnsley held on for three points at Oakwell.
Goals from Brad Potts and Mamadou Thiam saw the home side race into a two-goal lead inside the opening quarter of an hour.
Ben Reeves halved the deficit with fifteen minutes left but Chris Solly was shown a late red card as the Tykes held on to climb above the Addicks in the League One table.
The South Londoners were on the backfoot within the opening four minutes. Daniel Stendel’s side weaved the ball down the Addicks left before it was worked to Potts to rifle home from the edge of the area.
Jed Steer had to save well from Cameron McGeehan as he looked to extend the lead for the hosts before defender Ethan Pinnock was perhaps lucky to escape with just a yellow card after tripping Karlan Grant as he broke through on goal.
Grant sent the resulting free-kick wide, with the home side doubling their advantage soon after.
Thiam arrowed an unstoppable drive into the top-corner from 25 yards and Charlton were staring down the barrel of defeat with less than 15 minutes on the clock.
The Senegalese striker Thiam nearly bagged a carbon-copy of his goal as his swerving shot only just cleared Steer’s crossbar, with the visiting stopper then needing to be alert again to touch Mike Bahre’s poke around his near-post shortly before the interval.
Steer came to Charlton’s rescue again early into the second-period. Bahre found himself charging down on goal on the right-hand side but the Addicks stopper smothered his effort from close-range.
Lee Bowyer threw Tariqe Fosu into mix on the hour mark as he looked to find a way back into the contest, but the Tykes then came close again to going further ahead as Potts lifted over the bar from 18 yards.
Charlton’s injury curse claimed another victim minutes later. Skipper Jason Pearce was booked for a challenge in the build-up to the effort from Potts and he soon had to make way with a knock he sustained in that tackle. Youngster Toby Stevenson came on to take his place.
The Addicks had a lifeline with just over fifteen minutes left to play. Taylor was felled by Daniel Pinillos on the edge of the Tykes area. Fosu’s set-piece smacked into the wall but Reeves’ volley from the rebound flew past Adam Davies to give the travelling supporters a sniff of a comeback.
Referee Darren Bond had his yellow card out again as Anfernee Dijksteel gave away a foul on the edge of the Addicks’ box. Alex Mowatt’s free-kick hit the wall.
Seven minutes of additional time were indicated and Fosu nearly volleyed the visitors level from a corner, only for his effort to deflect over.
But any hopes of some late drama were extinguished as Solly was shown a second yellow card for a foul inside the Barnsley area – with the hosts holding on for all three points.