Manuel Friedrich had equalized in the 64th, they could not go on to win and are therefore just one point ahead of second-placed Hamburg - who now have a game in hand.
Jupp Heynckes handed Lars Bender a debut for Bayer Leverkusen and he had a wonderful chance to mark the occasion in style in only the second minute.
But after Eren Derdiyok's pass had set him up from the edge of the penalty area, Bender could only put his shot wide of the Borussia Dortmund goal.
Leverkusen were made to pay for their profligacy as Barrios got on the end of Nelson Valdez's cross and headed low past Rene Adler to put Borussia Dortmund in front.
Borussia Dortmund could have doubled the lead just after the half-hour but Patrick Owomoyela blazed his right-foot shot high and wide when he was placed.
Moments before the break former Liverpool defender Sami Hyypia headed wide from a good position for Leverkusen.
Derdiyok tested Roman Weidenfeller with a shot from distance, comfortably saved soon after half-time as the home side increased pressure on the visitors as they searched for an equalizer.
And Friedrich made no mistake when he headed low past Weidenfeller, from a cross by Tranquillo Barnetta.