After announcing themselves as firm League One promotion contenders in the last three games, Barnsley suffered a juddering reminder of how tough this division can be.
Daniel Stendel's men had made themselves known with impressive wins over Fleetwood, Peterborough and Luton, but they suffered capital punishment at Charlton and went down to a 2-0 defeat.
Addicks boss Lee Bowyer described it as a “perfect team performance” and the Reds were unable to cope.
Boywer also said that Barnsley were the best team his side have faced, though they didn't get anywhere close to showing it at the Valley.
The goals had been pouring in in recent weeks – 10 in the last three games – but that threat was sadly lacking and they rarely looked like scoring.
Instead, it was Charlton's hotshot Karlan Grant that proved most dangerous as his two goals condemned Barnsley to just their second league defeat of the season.
“We had a lot of ball possession but we didn’t get that big chance and Charlton fought and defended very well,” a frustrated Stendel said.
“We couldn’t find our rhythm or the final pass. We played well but only up to the 18-yard box. “Maybe if we had scored one, we would have had the chance to turn the result but it wasn’t possible.”
It was a nightmare start for his side as Charlton went ahead in the eighth minute.
Jamie Ward's raking throughball cut Barnsley wide open and Grant, a former England youth international, raced clear and converted past Adam Davies.
Barnsley's only real moment of note in the first half was Alex Mowatt's dipping free-kick which Jed Steer got down low to keep out.
Stendel resorted to bringing on the fit-again Kieffer Moore at half-time but just seven minutes after his introduction, the Reds were 2-0 down.
Lyle Taylor made headway down the left and his low cross was easy for Grant to tap-in.
“At half time we put on Kieffer Moore to give us a second striker and five minutes later we were 2-0 down and it was very difficult to change the result.
“When you’re 1-0 up at home you get more confident all the time and it’s easier to defend when you don’t give away big chances. It was okay that Charlton won the game."
Barnsley get the chance to put it right at Shrewsbury on Tuesday, but they will have to be better.
Charlton: Steer, Dijksteel, Bielik (Sarr 82), Pearce, Taylor, Reeves (Lapslie 74), Ward (Fosu 62), Aribo, Grant, Solly, Cullen.
Subs not used: Phillips, Pratley, Marshall, Ajose.
Barnsley: Davies, Dougall, Pinnock, Lindsay, McGeehan (Moore 46), Moncur (Hedges 61), Cavare, Potts, Pinillos (Thiam 61), Mowatt, Brown.
Subs not used: Walton, Jackson, Williams, Adeboyejo.
Referee: James Linington