Tomasz Cywka struck midway through the second half to clinch Barnsley's second away win of the league season at shot-shy Charlton.
The Polish midfielder fired home an angled drive just after the hour mark to clinch victory for the Tykes.
It was no less than Keith Hill's side deserved as they dominated the game from start to finish.
Charlton have now failed to win any of their last five league matches and offered little in the encounter.
The Addicks have dropped to 18th in the table, just three points above the relegation zone. Barnsley are a place and two points better off.
The visitors peppered the goal in the first half without reward as Stephen Dawson, Jacob Mellis and Cywka all fired in shots from outside the area before Chris Dagnall went closest to breaking the deadlock in the 35th minute when his angled effort was well held by home goalkeeper Ben Hamer.
It was not until three minutes before the break that Barnsley goalkeeper Ben Alnwick was pressed into action when he was forced to push Dale Stephens' free-kick over the crossbar.
Charlton manager Chris Powell sent on Johnnie Jackson and Bradley Wright-Phillips at half-time to try and change the flow of the game but it failed as Barnsley picked up where they left off.
Dagnall went close again when he flashed a volley from Mellis' floated free-kick just past Hamer's right-hand post before Cywka finally broke the deadlock when he lashed home a venomous right-footed finish high into the roof of the net from 12 yards.
In pursuit of an equaliser, third Charlton substitute Bradley Pritchard fired an effort from outside the box straight at Ben Alnwick and they mustered some late pressure but it was too little too late for the home side.
Charlton boss Chris Powell: "We need to approach each home game with the belief of getting three points. But we are not doing ourselves justice.
"We always want to perform at home and get the majority of points there. We are not edgy as the crowd are with us.
"But we need to turn it around - even if that means an ugly performance as we want to pick up some points.
"You have to earn that right to win the home games. You want to win, get your season going and be consistent. We still haven't got back-to-back wins and we've been up and down. We need to resolve it quickly."
Barnsley boss Keith Hill: "The result is key but the performance is a reflection on what we have been doing most of the season.
"We could make it easier for ourselves if we converted chances. We controlled everything really. They had a bit of momentum at the end. Having the ball is key and getting it back is key.
"At the moment we have a front-door key and a back-door key."
- 01 Hamer
- 05 Morrison
- 20 Solly Booked
- 28 Cort
- 07 Green (Pritchard - 68' )
- 08 Stephens Booked
- 22 Hollands (Jackson - 46' )
- 23 Wilson Booked
- 25 Razak (Wright-Phillips - 46' )
- 12 Kerkar
- 19 Fuller
- 27 Button
- 03 Evina
- 44 Dervite
- 04 Jackson
- 14 Pritchard
- 10 Wright-Phillips
- 29 Hulse
- 12 Alnwick
- 03 Golbourne Booked
- 06 Foster
- 14 Wiseman
- 34 Stones
- 07 Dawson Booked
- 11 Perkins
- 19 Cywka (Hassell - 90' )
- 21 Mellis (Etuhu - 89' )
- 09 Davies (Harewood - 90' )
- 13 Dagnall
- 01 Steele
- 02 Hassell
- 33 Kennedy
- 10 Done
- 16 Harewood
- 23 Etuhu
- 32 Rose
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +3:40
Unfair challenge on Salim Kerkar by Stephen Foster results in a free kick. The free kick is swung in right-footed by Dale Stephens, clearance made by David Perkins.90:00 +2:59 Substitution
Substitution Craig Davies leaves the field to be replaced by Marlon Harewood.90:00 +1:50
Indirect free kick taken by Ben Alnwick.90:00 +1:50 Booking
Booking Lawrie Wilson goes into the referee's book.90:00 +1:22
Lawrie Wilson gives away a free kick for an unfair challenge on Stephen Dawson.90:00 +0:43 Substitution
Substitution Tomasz Cywka leaves the field to be replaced by Bobby Hassell.90:00 +0:09
Long range shot by Chris Dagnall goes wide right of the target.88:47 Substitution
Substitution Kelvin Etuhu replaces Jacob Mellis.88:20
Bradley Pritchard takes a shot. Ben Alnwick makes a save.87:36
Lawrie Wilson delivers the ball, Ben Alnwick makes a save.86:13
Corner taken right-footed by Jacob Mellis from the right by-line, Dale Stephens makes a clearance.84:12
Chris Solly challenges Stephen Dawson unfairly and gives away a free kick. Ben Alnwick takes the free kick.82:35
Bradley Pritchard takes a shot. Save by Ben Alnwick.76:52
Corner taken right-footed by Jacob Mellis, Dale Stephens fouled by Chris Dagnall, the ref awards a free kick. Ben Hamer takes the free kick.75:42 Booking
Booking The referee cautions Stephen Dawson for unsporting behaviour.75:30 Booking
Booking The referee books Chris Solly for unsporting behaviour.74:45
Foul by Chris Solly on Stephen Dawson, free kick awarded. John Stones restarts play with the free kick.73:23
Dale Stephens has shot on goal from just outside the area which goes wide of the right-hand upright.69:04
Foul by Dale Stephens on Tomasz Cywka, free kick awarded. David Perkins takes the free kick.
Substitution Danny Green leaves the field to be replaced by Bradley Pritchard.66:09
Scott Golbourne fouled by Danny Green, the ref awards a free kick. Scott Golbourne takes the indirect free kick.65:01
Stephen Dawson fouled by Johnnie Jackson, the ref awards a free kick. Indirect free kick taken by Ben Alnwick.63:20 Goal scored
Goal! - Tomasz Cywka - Charlton 0 - 1 Barnsley Goal scored by Tomasz Cywka from inside the penalty area to the top left corner of the goal. Charlton 0-1 Barnsley.60:58
Indirect free kick taken by Stephen Foster.60:58 Booking
Booking Dale Stephens is shown a yellow card.60:47
Dale Stephens concedes a free kick for a foul on Jacob Mellis.54:13
Jacob Mellis takes a inswinging corner from the left by-line played to the near post, Johnnie Jackson makes a clearance.52:23
Jacob Mellis fouled by Michael Morrison, the ref awards a free kick. A cross is delivered by Jacob Mellis, Shot by Chris Dagnall from deep inside the penalty area misses to the left of the goal.50:46
Dale Stephens concedes a free kick for a foul on Stephen Dawson. Free kick taken by David Perkins.49:41
Unfair challenge on Ricardo Fuller by Stephen Dawson results in a free kick. Free kick crossed right-footed by Dale Stephens from left channel, Ben Alnwick makes a save.47:59
Free kick awarded for an unfair challenge on Danny Green by David Perkins. Free kick crossed left-footed by Johnnie Jackson from right wing.45:01
The referee gets the second half underway.45:01 Substitution
Substitution Bradley Wright-Phillips on for Abdul Razak.45:01 Substitution
Substitution Johnnie Jackson joins the action as a substitute, replacing Danny Hollands.45:00 +1:12 Half time
Half Time It is the end of the first-half.45:00 +0:47
Jacob Mellis produces a right-footed shot from outside the penalty area and misses left.43:09
Dale Stephens delivers the ball from the free kick right-footed from left wing, save by Ben Alnwick. Salim Kerkar takes a inswinging corner from the right by-line to the near post, save by Ben Alnwick.43:09 Booking
Booking Scott Golbourne booked for unsporting behaviour.42:50
Scott Golbourne challenges Danny Green unfairly and gives away a free kick.42:24
Inswinging corner taken left-footed by Salim Kerkar played to the near post, Craig Davies manages to make a clearance.41:12
Unfair challenge on Danny Green by Tomasz Cywka results in a free kick. Abdul Razak fires a strike on goal direct from the free kick, save by Ben Alnwick.37:06
Craig Davies takes a shot. Blocked by Leon Cort. Corner taken by Scott Golbourne from the right by-line to the near post, Salim Kerkar manages to make a clearance. Corner taken by Scott Golbourne, save by Ben Hamer.36:04
Free kick awarded for an unfair challenge on Stephen Dawson by Salim Kerkar. Indirect free kick taken by Stephen Dawson.34:58
Chris Dagnall takes a shot. Save made by Ben Hamer. Free kick awarded for an unfair challenge on Stephen Dawson by Chris Solly. Indirect free kick taken by Stephen Foster.32:37
Free kick awarded for a foul by Dale Stephens on Jacob Mellis. David Perkins restarts play with the free kick.29:19
David Perkins concedes a free kick for a foul on Abdul Razak. Direct strike on goal from the free kick comes in from Danny Green.25:27
Handball decision goes against Danny Hollands. Free kick taken by Scott Golbourne.23:28
Scott Golbourne is caught offside. Ben Hamer restarts play with the free kick.20:57
Unfair challenge on David Perkins by Abdul Razak results in a free kick. Indirect free kick taken by David Perkins.16:17
Tomasz Cywka takes a shot. Ben Hamer makes a save.12:06
Foul by Ricardo Fuller on Scott Wiseman, free kick awarded. Ben Alnwick restarts play with the free kick.11:16
Shot from long distance by Jacob Mellis misses to the right of the goal.9:52
Salim Kerkar challenges Stephen Dawson unfairly and gives away a free kick. John Stones restarts play with the free kick.9:07
Stephen Dawson has an effort at goal from outside the penalty box missing to the wide right of the goal.4:42
Inswinging corner taken left-footed by Salim Kerkar from the right by-line, Stephen Foster makes a clearance.2:09
Inswinging corner taken by Salim Kerkar from the right by-line, Ben Alnwick makes a save.1:20
Unfair challenge on Leon Cort by Craig Davies results in a free kick. Indirect free kick taken by Leon Cort.0:48
Abdul Razak has an effort at goal from a long way out that goes wide of the right-hand post.0:00
The game kicks-off.
Live data and text provided by our data suppliers