But Aapo Halme's header gave them hope with 13 minutes remaining and former Bristol City loanee Woodrow poked home his sixth goal of the season at the death to secure a point.
The result meant Barnsley moved off the bottom of the table, but they are without a win since the opening day of the season.
The visitors had the greater share of possession early on without posing a serious threat. Weimann had a shot blocked and Taylor Moore also saw his effort strike a defender.
Mallik Wilks went close for the home side, producing a surging run and firing in a curling shot which was superbly touched wide by Bentley.
Wilks posed a threat again shortly afterwards, heading narrowly wide after meeting a Dimitri Cavare cross.
The hosts continued to press with Alex Mowatt firing in a 20-yard drive which flashed wide of Bentley's left-hand post.
It was the visitors who took the lead two minutes before the interval after they were controversially awarded a free-kick when former Barnsley forward Marley Watkins was adjudged to have been fouled.
As Barnsley looked to get back on level terms before the break, Kenny Dougall shot over in the closing stages of the half.
Weimann increased City's lead in the 71st minute, finding the net with a superb looping header from Eliasson's corner.
Barnsley pulled a goal back when defender Halme got on the end of Mowatt's corner and beat Bentley with a towering header.
The home side had a couple of chances to equalise late on with Woodrow failing to make proper contact from inside the six-yard box and Diaby heading off-target.
But Woodrow made amends in the fourth minute of stoppage time, tapping in from close range after the ball was played into the danger area.