Match ends, Swansea City 0, Barnsley 0.
Barnsley stretched their unbeaten run to five matches as they claimed a creditable goalless draw at Swansea City.
The hosts created the clearer opportunities, but their failure to find a finish means they have won only two of their last 10 home league games.
Barnsley had their moments too and were worth a share of the spoils at the end of a hard-fought contest.
The first goalless game at the Liberty Stadium this season is a better result for Gerhard Struber's team, whose revival at the bottom continues, while Swansea remain on the fringes of the play-off places.
Barnsley arrived in west Wales in their best form of the season, with Struber having a significant impact since taking charge in November.
The Tykes won away for the first time in 2019-20 at Millwall just before Christmas and they were the better side in the opening half hour.
Struber's team were sharper than their hosts, pressing high up the field and making it hard for Swansea to play their possession game.
Yet Barnsley chances were at a premium in the first half, with Conor Chaplin flicking a header well over before tapping into the net from Cauley Woodrow's backheel only for the offside flag to halt his celebrations.
Swansea slowly began to stir, with a sharp passing move carrying them from one end of the pitch to the other and ending with a Bersant Celina shot which Barnsley goalkeeper Samuel Radlinger saved with his leg.
Swansea seemed set to go ahead when Celina whipped in a cross seconds later, but Sam Surridge's point-blank effort was repelled by Radlinger.
The home side were growing in confidence, and there was another let-off for Barnsley after Radlinger came out of his area to head clear.
Surridge took aim at the empty net from 35 yards, but was left with head in hands as the ball cannoned to safety off the crossbar.
It was Barnsley's turn to hit the woodwork early in second half, Jacob Brown stretching to meet Alex Mowatt's cross but seeing his effort deflect on to the post.
Swansea responded, with Andre Ayew denied by another fine Radlinger save before Celina skied the rebound.
Surridge found the target, but was flagged offside before substitute George Byers shot the wrong side of the upright when he looked more likely to score.
Barnsley's Luke Thomas fired wide at the other end before Celina's late long-ranger was pushed away by Radlinger, who had done as much as anyone to ensure this game would end without a goal.
Swansea head coach Steve Cooper: "Frustration is the overriding feeling. We had talked about needing to be clinical and productive in moments but we did not take those chances.
"We did have chances and the keeper made some good saves, but we are disappointed as we backed ourselves to score and win the game.
"We did turn ball over on too many occasions compared to what is our normal style, and Barnsley have come here in good form, but we still expect to win the game. We are just disappointed we have not managed to score."
Barnsley head coach Gerhard Struber: "Our teamwork was outstanding today. It is not easy to play against Swansea with their quality, especially (Bersant) Celina.
"I'm happy with a very important point for us. Every point we get in our situation is very, very important and now we have the feeling that we can pick up points away from home.
"Now we have to recharge our batteries because the next game is so soon.
"We need more points in the next games and I hope we can come out of the relegation zone now. The self-confidence is growing and growing."
- 14CarrollBooked at 38minsSubstituted forByersat 70'minutes
- 22A Ayew
- 19SurridgeSubstituted forRoutledgeat 77'minutes
- 5DiabyBooked at 49mins
- 6AndersenBooked at 28mins
- 27MowattBooked at 23minsSubstituted forBähreat 60'minutes
- 7BrownSubstituted forSchmidtat 61'minutes
- 11ChaplinBooked at 90mins
- 28Simoes Inacio
- Antony Coggins
- Shots on Target
Second Half ends, Swansea City 0, Barnsley 0.
Attempt blocked. Aapo Halme (Barnsley) right footed shot from outside the box is blocked. Assisted by Luke Thomas.
Conor Chaplin (Barnsley) is shown the yellow card.
Corner, Swansea City. Conceded by Bambo Diaby.
Attempt missed. Clarke Oduor (Barnsley) left footed shot from the left side of the box is close, but misses to the left. Assisted by Mike-Steven Bähre.
Corner, Swansea City. Conceded by Bambo Diaby.
Attempt saved. Bersant Celina (Swansea City) right footed shot from outside the box is saved in the bottom left corner.
Attempt saved. Cauley Woodrow (Barnsley) left footed shot from outside the box is saved in the centre of the goal. Assisted by Clarke Oduor.
Offside, Swansea City. André Ayew tries a through ball, but Wayne Routledge is caught offside.
Offside, Swansea City. Matt Grimes tries a through ball, but Wayne Routledge is caught offside.
Attempt missed. Luke Thomas (Barnsley) left footed shot from the centre of the box is close, but misses to the right. Assisted by Cauley Woodrow.
Foul by Aapo Halme (Barnsley).
Jay Fulton (Swansea City) wins a free kick in the defensive half.
Luke Thomas (Barnsley) wins a free kick in the attacking half.
Foul by George Byers (Swansea City).
Substitution, Swansea City. Wayne Routledge replaces Sam Surridge.
Attempt missed. George Byers (Swansea City) right footed shot from the centre of the box is close, but misses to the right. Assisted by Kyle Naughton.
Offside, Barnsley. Mike-Steven Bähre tries a through ball, but Conor Chaplin is caught offside.
Offside, Swansea City. Sam Surridge tries a through ball, but Bersant Celina is caught offside.