Boro competed well in the first half despite a lack of clear-cut chances for either side, but conceded twice after the interval.
Alex Mowatt’s in-swinging corner put the hosts ahead when Boro keeper Marcus Bettinelli made a mess of the set-piece and was beaten at his near post.
The points were sealed 15 minutes from time when Callum Brittain’s cross was headed home by Tykes frontman Daryl Dike as Valerien Ismael’s side continued their push for a play-off place.
The result leaves Boro 10th in the table with five games to play, with their chances of finishing in the play-offs as good as over.
Warnock will now prepare his side for a home game against QPR next weekend.
Here’s how the Teessiders fared at Oakwell.