The visitors took the lead midway through the first half with a penalty by Woodrow after a foul on Jacob Brown who added a second early in the second half before Woodrow completed the rout late on.
The Reds remain bottom of the Championship but ended a six-game losing run and cut the gap to safety from nine points to six.
Home goalkeeper Marek Rodak made errors for all three goals and both sides missed a series of chances but the Reds delivered one of their best performances of the season and deserved to cause a sensational upset.
Gerhard Struber made four changes to the side that lost 1-0 at home to Birmingham City four days earlier. Mads Andersen was left out of the squad after some recent mistakes, with Aapo Halme replacing him in the starting line-up as a centre-back. Kilian Ludewig, Luke Thomas and Mike Bahre replaced Clarke Oduor, Elliot Simoes and Callum Styles while Aiden Marsh, 16, was on the bench.
The hosts tried to play the ball out from the back and were sloppy early on in very windy conditions, leading to some half-chances for the visitors. Conor Chaplin had the game’s first shot on 18 minutes but his effort from the right of the box was weak and straight at the goalkeeper after Thomas did very well to win the ball and play him in. Woodrow then volleyed over from 20 yards seconds later.
The deadlock was broken in bizarre circumstances when a seemingly harmless throughball was fumbled by goalkeeper Marek Rodak who then hauled down Brown. Woodrow converted the spot-kick for his 13th goal of the season.
Fulham’s first shot was a 33rd-minute effort by Ivan Cavaleiro which was blazed well over the bar from 25 yards. In first half injury-time, Aleksandar Mitrovic brilliantly chested the ball into path of Tom Cairney who had a good chance from the edge of the box but scuffed the shot tamely at Brad Collins.
The Reds goalkeeper had to make a far better save in the first minute of the second half when Alex Mowatt lost the ball just outside the box and Josh Onomah found Mitrovic who turned but his 15-yard effort was blocked by the outstretched leg of Collins.
Onomah then volleyed over following a goalmouth scramble which also saw Collins block a Kevin McDonald shot after a corner had been headed almost out of his hands by Halme.
It should have been 2-0 on 50 minutes when Bahre’s impressive lofted pass put Chaplin through on goal but Rodak made an impressive one-on-one save. The goalkeeper then gifted the hosts a second goal when he rushed off his line to try to claim a Woodrow pass but got nowhere near it and Brown guided the ball past him from the edge of the box. It was his first league goal in 18 matches since the October loss at Huddersfield Town.
Barnsley came very close to a third as Woodrow shot inches wide of the bottom left corner from 15 yards out after a good one-two with Brown then Chaplin was put clean through on goal by a Collins goal kick but fired his second one-on-one chance of the game wide from inside the box.
Fulham made three changes at 2-0 and essentially used a front five, one of whom was Cavaleiro who blazed over from the edge of the box after Mitrovic brought down a right-wing cross. Collins also kept out long-range efforts by Kamara, tipping it around the right post, then Cavaleiro whose central effort was fumbled by the goalkeeper but cleared.
The third goal arrived with ten minutes remaining as Bahre played in Woodrow on the left of the box and his shot from a very tight angle went through the hapless Rodak from a tight angle for his 14th of the season.
Mitrovic fired wide from the edge of the box then headed a looping cross into Collins’ arms, before Onomah struck the bar in injury-time.
Barnsley (4-4-2 diamond): Collins; Ludwig, Sollbauer, Halme, J Williams; Mowatt, Thomas (Dougall 81mins), Bahre, Woodrow; Brown, Chaplin (Schmidt 86). Unused: Walton, B Williams, Simoes, Oduor, Marsh. Yellow cards: Halme. Goals: Woodrow 23 (pen), 79; Brown 51.
Fulham (4-3-3): Rodak; Sessegnon (Kamara 65), Hector, Ream, Bryan; Cairney (Arter 54mins), McDonald (Reid 54), Onomah; Knockaert, Mitrovic, Cavaleiro Unused: Bettinelli, Odoi, Johansen, Christie, Kamara. Yellow cards: Bryan.
-
-
15:04pm
-
15:05pm
-
15:06pm
-
15:08pm
-
15:09pm
-
15:11pm
-
15:13pm
-
15:15pm
-
15:19pm
-
15:20pm
-
15:22pm
-
15:22pm
-
15:23pm
-
15:26pm
-
15:26pm
-
15:27pm
-
15:29pmGOAL!
-
15:29pm
-
15:30pm
-
15:33pm
-
15:35pm
-
15:36pm
-
15:36pm
-
15:40pm
-
15:41pm
-
15:42pm
-
15:44pm
-
15:45pm
-
15:45pm
-
15:48pm
-
15:50pm
-
16:07pm
-
16:08pm
-
16:10pm
-
16:11pm
-
16:12pmGOAL!
-
16:13pm
-
16:15pm
-
16:15pm
-
16:19pm
-
16:24pm
-
16:27pm
-
16:28pm
-
16:28pm
-
16:29pm
-
16:32pm
-
16:35pm
-
16:36pm
-
16:39pm
-
16:40pmGOAL!
-
16:42pm
-
16:42pm
-
16:43pm
-
16:45pm
-
16:46pm
-
16:46pm
-
16:51pm
-
16:53pm
-
16:54pm
-
16:55pm