Ten man Barnsley suffered a ninth defeat in ten league games a they went down 3-2 at Peterborough United on Tuesday.
The hosts took the lead but Conor Hourihane levelled from the penalty spot after a foul by former Red Miles Addison.Addison made amends by making it 2-1 to Posh on the hour mark. Marcus Maddison got a third for the hosts before substitute Sam Winnall pulled one back.
Kevin Long was sent off late on for the Reds who slipped down a place to 22nd in the League One table.
Lee Johnson made just one change from the side that ended an eight-game losing streak at Oldham on Saturday as George Smith came in for Aidy White who has concussion.
Marley Watkins headed wide early on from a good ball by Lloyd Isgrove, either side of two wayward Lee Angol efforts from right-wing crosses when he was well-placed.
Angol eventually netted when he received a pass from Jon Taylor, turned and rifled in from the right side of the penalty area.
Peterborough were on top but failed to test Adam Davies with long-range shots and were stung by an equaliser on 38 minutes.
Former Barnsley defender Addison, making his Posh debut, fouled Watkins as he burst into the box and Hourihane placed the spot-kick into the bottom right corner.
The Reds began the second half well and thought they had taken the lead when Alfie Mawson headed in an Adam Hammill free-kick but the linesman raised his flag to rule the goal out.
But instead it was the hosts who went ahead with Addison planting his header from Marcus Maddison's corner into the turf then it bounced into the top left corner.
Toney missed a fine headed chance then was punished when Maddison's deflected 20-yard shot made it 3-1 on 74 minutes.
Winnall pulled one back four minutes later when he smashed home from close range after a goalmouth scramble in which both Addison and Watkins hit the Posh crossbar.
Long was then sent off for a two-footed challenge on home substitute Harry Beautyman with eight minutes to play.
Angol and Jermaine Anderson then hit the bar and post in injury-time before Hammill brought a fine save out of Ben Alnwick in the 95th minute.