Alex Mowatt opened the scoring midway through the first half then Cauley Woodrow netted a stunner just after the break.
The Reds are now unbeaten in 15 home league games and they have leapfrogged Posh into fifth place in League One.
Head coach Daniel Stendel made two changes from the side which won at Blackpool on Saturday. Kieffer Moore missed the game through illness, while Kenny Dougall made his first start in more than two months due to injury. Mike Bahre came in for Mamadou Thiam on the left wing in a 4-1-4-1 formation which saw Dougall playing in front of the back four and Woodrow on his own up front.
Peterborough thought they should have had a penalty in the tenth minute after sloppy play by Ethan Pinnock and Cameron McGeehan led to Mark O’Hara tumbling to the ground after Dougall stuck out a leg. But the referee was unmoved.
Barnsley then began to get on top as McGeehan and Dougall both shot straight at visiting goalkeeper Conor O’Malley from 25 yards before Bahre blazed over inside the box after a good run and pass by Dimitri Cavare.
The Reds took a deserved lead in the 25th minute when Mowatt slid in three yards out to turn in a low cross by Cavare who had been freed up on the right wing by a good move involving McGeehan and Brad Potts.
Posh top-scorer Matt Godden could have levelled but headed a Marcus Maddison cross wide then Woodrow was off target from one of several Mowatt corners.
Barnsley went off having been the better team in the first half and were even more dominant in the early stages of the second.
McGeehan should have made it 2-0 but shot narrowly wide from 15 yards out after an excellent run by Potts who carried the ball from near halfway into the Posh penalty area.
But the lead was doubled seconds later when Woodrow curled a superb shot into the top right corner from 25 yards out on the left side of the pitch.
Mowatt almost made it 3-0 but the goalkeeper denied him in the box from a tight angle, then home stopper Adam Davies made his first save of the match to brilliantly prevent Godden making it 2-1 after going clean through.
Posh boss Steve Evans made a double substitution before the hour then his final change ten minutes later.
Dougall looked likely to be sent off in the 69th minute when he brought down ex-Red Ivan Toney who was clean through on goal but the Peterborough striker was booked for diving instead.
Visiting goalkeeper O’Malley went well out of his box but the clearance was poor and straight to Bahre 30 yards out but his shot was blocked by Rhys Bennett and went wide of the open net.
O’Malley then had to rush off his line to deny McGeehan one-on-one after a good counter-attack led by Woodrow who played on his team-mate.
Barnsley (4-1-4-1): Davies; Cavare, Pinnock, Lindsay, Pinillos; Potts (Brown 74mins), McGeehan, Mowatt, Dougall (Adeboyejo 86), Bahre (Thiam 78); Woodrow. Unused: Greatorex, Hedges, Moncur, Jackson. Yellow cards: Dougall. Goals: Mowatt 25, Woodrow 49
Peterborough (3-4-1-2): O’Malley; Naismith (Lyon 69mins), Tafazolli, Bennett, Ward, O’Hara, Woodyard, Daniel (Dembele 57); Maddison; Toney, Godden (Cummings 57). Unused: Chapman, Reed, Cooper, Stevens.
-
-
15:04pm
-
15:06pm
-
15:08pm
-
15:10pm
-
15:11pm
-
15:12pm
-
15:14pm
-
15:15pm
-
15:18pm
-
15:19pm
-
15:20pm
-
15:21pm
-
15:21pm
-
15:25pm
-
15:25pm
-
15:26pmGOAL!
-
15:27pm
-
15:29pm
-
15:30pm
-
15:32pm
-
15:32pm
-
15:34pm
-
15:35pm
-
15:36pm
-
15:39pm
-
15:41pm
-
15:41pm
-
15:42pm
-
15:43pm
-
15:45pm
-
15:46pm
-
15:48pm
-
15:48pm
-
15:49pm
-
16:06pm
-
16:09pm
-
16:10pmGOAL!
-
16:11pm
-
16:12pm
-
16:12pm
-
16:13pm
-
16:17pm
-
16:18pm
-
16:20pm
-
16:23pm
-
16:24pm
-
16:27pm
-
16:30pm
-
16:30pm
-
16:33pm
-
16:34pm
-
16:35pmSUB OFF
-
16:35pmSUB ON
-
16:37pm
-
16:38pm
-
16:39pmSUB OFF
-
16:39pmSUB ON
-
16:42pm
-
16:44pm
-
16:45pmYELLOW CARD
-
16:47pmSUB OFF
-
16:47pmSUB ON
-
16:50pm
-
16:51pm
-
16:52pm
-
16:52pm
-
16:53pm
-
16:56pm