Home points for the Reds: Barnsley 2-1 Charlton
Fine goals from Brad Potts and Mamadou Thiam put the Reds in control in the first 15 minutes before Ben Reeves made a game of it in the second half.
But the Reds held on to climb above their opponents in the table and up to fourth.
Advertisement
Hide AdAdvertisement
Hide AdThey enjoyed a perfect start as they took a fourth-minute lead when Thiam teed up Potts to smash an unstoppable shot past Jed Steer.
Steer had to be alert to save Cameron McGeehan's 25-yard drive, but he could do nothing about Thiam's effort in the 14th minute.
The attacker drilled a shot from distance into the left-hand corner as the Addicks were shell-shocked.
Reeves made it a nervy final 15 minutes when he produced a clinical finish but the visitors were unable to force an equaliser.
Advertisement
Hide AdAdvertisement
Hide AdAnd they ended the game with 10 men as Chris Solly was sent-off in stoppage time following a second booking.
Barnsley: Davies, Pinnock, Lindsay, McGeehan, Cavare, Potts (Dougall 77), Bahre (Brown 70), Pinillos, Woodrow, Thiam (Hedges 87), Mowatt.
Subs: Greatorex, Moncur, Jackson, Adeboyejo.
Charlton: Steer, Dijksteel, Bielik, Bauer, Pearce (Stevenson 65), Marshall (Hackett-Fairchild 81), Taylor, Reeves, Pratley (Fosu 60), Grant, Solly.
Subs: Phillips, Sarpong-Wiredu, Morgan, Ajose.
Referee: Darren Bond
Attendance: 11, 978