Dale took the lead early in the second half but top-scorer Kieffer Moore levelled within four minutes then Cauley Woodrow won it with a quarter of an hour to play.
It was an unconvincing performance from the Reds but a huge win as they remain unbeaten in 18 league games at Oakwell across more than ten months, winning the last four.
Barnsley have won their last three League One games and are now third in the table, two points behind second-placed Portsmouth who were in FA Cup action and four off new leaders Luton Town who have played a game more than the Reds.
Daniel Stendel kept the same team as for the 4-1 win at AFC Wimbledon and the 3-0 home success over Bradford City, with the same bench as at Wimbledon as well.
For most of the first half, Barnsley – although they were better and more threatening than their relegation-battling visitors – struggled to get into their recent rhythm and seemed to be focused on playing long balls up to Moore who found it hard to keep it or bring others into play. When they did get forward, the hosts could not break down a resilient Rochdale defence.
Moore did have a couple of early chances as – after touching a low cross by Ben Williams but seeing the ball balloon into the goalkeeper’s arms – he blazed wide ten yards out after Mamadou Thiam’s left-wing cross was helped on by Cameron McGeehan and Jacob Brown.
Rochdale’s Rory Holden sent a 25-yard free-kick straight at Adam Davies in the home goal while Jacob Brown fired into the side netting from a very tight angle on the right of the box after one of several driving runs by Dimitri Cavare who was the most impressive player on the pitch in the first half.
The visitors had a chance to take the lead late in the first half when Liam Lindsay allowed a right-wing free-kick to reach Ryan Delaney who blazed over the bar five yards out in the six-yard box at a very tight angle.
Central midfielder Kenny Dougall came on for winger Mamadou Thiam at half-time with striker Moore moving onto the left wing in a 4-4-3 with Cauley Woodrow up front and Brown on the right.
Moore found the back of the net but was clearly offside running onto Alex Mowatt’s throughball and the goal was ruled out. Instead it was the visitors who took the lead when former Barnsley defender Jimmy McNulty’s free-kick put Ian Henderson clean through on goal and he beat Davies to find the bottom left corner.
Moore had a good chance to level minutes later but he headed Woodrow’s right-wing cross over from close range under pressure from defenders. Moore then levelled on 54 minutes with a fine finish into the bottom right corner from outside the box on the left. It was his 16th goal of the season.
Rochdale’s Calvin Andrew headed wide from a cross by former Barnsley right-back Ryan McLaughlin then Moore tried again from long-range but sent his 25-yard effort well off-target. Henderson then tried to beat Davies from a very tight angle on the right of the box but his shot was turned around the post by the goalkeeper.
Cavare’s low right-wing cross found Woodrow eight yards out but, sliding in, he put his effort straight at goalkeeper Josh Lillis. But Woodrow eventually made it 2-1.
Brown brilliantly turned a defender on the edge of the box to open up the visiting defence then he squared to Dougall who mishit his shot six yards out but it fell perfectly for Woodrow to blast in his ninth goal of the season.
Barnsley tried to make it 3-1 but Cavare fired over on the right of the box then Dougall’s 25-yard effort was well off-target. Brown should have finished Dale off when a good move saw McGeehan square the ball to him but his shot from five yards out with the goal gaping was straight at the goalkeeper who made a point blank save.
Stendel brought on new signing Jordan Green for Moore and the winger looked lively on his debut, firing wide with an effort from outside the box.
Rochdale almost levelled deep in injury-time when Davies, who appeared to be fouled, dropped a corner and McNulty’s shot was blocked on the line in a frantic goalmouth scramble.
Barnsley: Davies; Cavare, Pinnock, Lindsay, B Williams; Brown, McGeehan, Mowatt, Thiam (Dougall HT); Woodrow (Adeboyejo 89mins), Moore (Green 78). Unused: Greatorex, Jackson, Pinillos, Adeboyejo, Hedges. Yellow card: Dougall, Davies. Goals: Moore 54, Woodrow 76. Rochdale (4-5-1): Lillis; McLaughlin (Matheson 76mins), McNulty, Ebanks-Landell, Delaney; Andrew (Inman 82), Camps (Wibraham 82), Hamilton, Dooley, Holden; Henderson. Unused: Norman, MJ Williams, J Williams, Wilbraham, Inman, Adshead. Yellow cards: Dooley, Delaney, Ebanks-Landell. Goals: Henderson 49.
-
13:41pm
-
13:50pm
-
14:01pm
-
14:01pm
-
14:04pm
-
14:06pm
-
14:09pm
-
14:12pm
-
14:16pm
-
14:19pm
-
14:20pm
-
14:26pm
-
14:28pm
-
14:31pm
-
14:39pm
-
14:40pm
-
14:43pm
-
14:46pm
-
14:48pm
-
14:50pm
-
14:52pm
-
14:55pm
-
14:55pm
-
14:59pm
-
15:05pm
-
15:08pm
-
15:09pm
-
15:11pm
-
15:11pm
-
15:13pm
-
15:16pm
-
15:16pm
-
15:18pm
-
15:18pm
-
15:20pm
-
15:20pm
-
15:22pm
-
15:22pm
-
15:24pm
-
15:26pm
-
15:28pm
-
15:31pm
-
15:32pm
-
15:34pm
-
15:35pm
-
15:36pm
-
15:37pm
-
15:39pm
-
15:39pm
-
15:41pm
-
15:42pm
-
15:44pm
-
15:46pm
-
15:47pm
-
15:48pm
-
15:48pm
-
15:49pm
-
15:50pm
-
15:50pmADDED TIME
-
15:51pm
-
15:51pm
-
15:51pm
-
15:52pm
-
16:08pm
-
16:10pm
-
16:11pm
-
16:13pmGOAL!
-
16:14pm
-
16:15pm
-
16:17pmGOAL!
-
16:19pm
-
16:20pm
-
16:22pm
-
16:24pm
-
16:24pm
-
16:25pm
-
16:26pm
-
16:30pm
-
16:31pm
-
16:32pm
-
16:35pm
-
16:36pm
-
16:37pm
-
16:38pm
-
16:39pmGOAL!
-
16:40pm
-
16:40pmSUB OFF
-
16:40pmSUB ON
-
16:41pm
-
16:41pmSUB OFF
-
16:41pmSUB ON
-
16:42pm
-
16:43pm
-
16:44pm
-
16:44pmSUB OFF
-
16:44pmSUB ON
-
16:44pmSUB OFF
-
16:45pmSUB ON
-
16:46pm
-
16:46pmYELLOW CARD
-
16:49pm
-
16:49pm
-
16:51pm
-
16:53pmSUB OFF
-
16:53pmSUB ON
-
16:54pmADDED TIME
-
16:54pm
-
16:55pm
-
16:56pm
-
16:57pm
-
16:59pm
-
16:59pmYELLOW CARD
-
16:59pm
-
17:00pm