Macken: Battles for header
Winger Jamal Campbell-Ryce struck early on with a low shot from outside the penalty area and centre-half Lewin Nyatanga doubled the Tykes' advantage from close-range before the interval.
Striker Jon Macken made sure Barnsley won on home soil for the first time in five attempts with a third five minutes from the end.
Simon Davey steered Barnsley clear of trouble late last season and has repeated the feat with a game to spare.
The FA Cup semi-finalists won successive games on the road after their Wembley heartbreak at the hands of Cardiff, but slumped back into the relegation shake-up with two home defeats.
But after Campbell-Ryce drilled in the opener in the 11th minute, there was only one team in it.
The season cannot end quick enough for Alan Pardew's side, whose play-off challenge has petered out in recent weeks - the Londoners have won just one of their last 10 league matches.
Leon and Campbell-Ryce tried their luck from distance in the opening exchanges,
before Matt Holland's long-range shot was blocked by Brian Howard.
Barnsley took the lead in the 11th minute when Campbell-Ryce's low shot from the right side of the penalty area arrowed into the bottom corner
Kayode Odejayi's header from Jon Macken's cross was well held by Charlton keeper Nicky Weaver and Campbell-Ryce lashed another shot inches over the crossbar.
Charlton, who made four changes and fielding their youngest-ever player in 16-year-old midfielder Jonjo Shelvey, responded through Luke Varney but his 12-yard shot was off target.
Macken then forced Weaver into another save from inside the box and the visitors' goalkeeper was at his best soon after when turning Campbell-Ryce's blistering 30-yard effort around the post.
However there was no denying the Tykes a second goal in the 33rd minute.
Leon curled his corner to the far post, defender Dennis Souza headed the ball on and Nyatanga forced the ball over from close-range.
Varney headed wide as Charlton looked to pull one back and Shelvey, whose earlier effort was blocked, fired over the crossbar from outside the box as half-time approached.
But Barnsley finished the half on top with Souza denied by another fine save from Weaver and Odejayi's close-range shot blocked by Madjid Bougherra.
Barnsley were content to protect their lead after the restart, but Charlton were unable to muster an effort on goal themselves.
Tykes defender Marciano Van Homoet was first to threaten in the second period, but his shot was charged down by Holland.
Barnsley were denied a third goal in the 69th minute when Bobby Hassell's fine free-kick curled onto Weaver's post before skipper Howard was replaced by youngster Jacob Butterfield.
But Macken rounded off a decisive win for the Yorkshiremen when he headed home Van Homoet's right-wing cross in the 85th minute.
Tykes goalkeeper Luke Steele was forced to tip away Matt Holland's free-kick at full stretch, but Charlton offered little else in the closing stages, while Macken and Butterfield rifled in long-range efforts inches over the crossbar.