A terrific strike from Luke Chambers looked to have given Blues the points at Portman Road until Danny Rose’s late equaliser.
The summer signing from Nottingham Forest had seen a far easier chance go over the bar in the first-half but made amends on 56 minutes when he spun inside the Tykes’ box and found the net.
Barnsley had chances with Marlon Harewood going close on a number of occasions but it appeared to be Town’s day until substitute Rose headed in two minutes from time.
Mick McCarthy stayed with the side that held Cardiff to a goalless draw last week and Town started brightly enough, Carlos Edwards bringing a save from Jason Steele with a right foot strike.
The Tykes lost Stephen Dawson before 10 minutes, the midfielder stretchered off and replaced by Kelvin Etuhu.
David Perkins fired well wide as the visitors started to pass the ball around with more confidence and it needed a great block from Tommy Smith to stop Jacob Mellis’ cross reaching Harewood in the Town box.
Scott Loach came to Blues’ rescue midway through the half when he denied Harewood with a smart save after the former Town loanee burst through on goal, but a minute later Chambers wasted the best chance of the opening 45 minutes. Aaron Cresswell’s free-kick cannoned back into the defender’s path six yards from goal but he lashed the ball over the bar.
Harewood sent another effort wide, while at the other end Lee Martin’s free-kick was deflected for a corner after Steele was penalised for catching a back pass after miskicking his clearance.
Chambers did well to stop Chris Dagnall getting in on goal and just before the break Harewood got clear of the Town defence again after Mellis put him through but his shot hit the post.
David McGoldrick went close with Town’s last effort of the half, his header tipped on to the bar by Steele.
The breakthrough came 10 minutes into the second-half. Perkins was yellow carded for a foul on Martin. Cresswell’s free-kick was never dealt with properly by the Tykes’ defence and Chambers showed a goalscorer’s touch to spin and fire into the corner of the net.
Frank Nouble replaced Aaron Mclean on the hour, the recent signing from Wolves becoming the third Blue to make his home debut on the afternoon.
McGoldrick smashed a 20 yarder just wide of Steele’s post, then Guirane N’Daw robbed Barnsley of possession but failed to find the target.
Blues made a second change for the last 20 minutes with Daryl Murphy on for Martin, Barnsley also making a change with Matty Done replacing Scott Golbourne.
Harewood dragged a left foot shot well wide from a good position as the Tykes looked for an equaliser, Etuhu shooting over from distance.
Dagnall was inches away from finding that leveller, his header from Tom Kennedy’s free-kick beating Loach and the far post.
Michael Chopra replaced McGoldrick in Town’s third change but Blues breathed another sigh of relief when Perkins got around the back but Harewood could not convert his cross from close range.
Rose replaced Mellis in the Tykes’ final change on 85 minutes and took only three minutes to make his mark, heading in from Kennedy’s corner to give Barnsley a deserved share of the spoils.