The visitors were quickest off the starting blocks, with Javier Hernandez beating his marker two minutes in and steering Karim Bellarabi's delivery towards goal, but Marc-Andre ter Stegen reacted well to deny his close-range effort.
Just two minutes later Luis Enrique's charges appealed for a handball in the Leverkusen box following a corner, but the claims were waved away as the ball was eventually cleared.
The action continued to flow thick and fast as the hosts pushed forward again, with Bernd Leno palming away Ivan Rakitic's header, before being called into action again in the 10th minute through Sandro's one-on-one shot on goal.
Leverkusen were next to threaten when, just before the quarter-hour mark, Giulio Donati sent a cross into the Barca box which Bellarabi met with a first-time volley, but again Ter Stegen's goal remained untroubled.
© Getty Images
Barca set about trying to restore parity and launched into a series of attacks which the visitors managed to repel, before Bellarabi slipped through on goal in the 36th minute and forced a save from Ter Stegen.
With six minutes left in the half, the hosts came within a whisker of levelling the scores when Neymar found space in the box and rifled against the post, before Sandro's rebound was charged down from close range.
Bayer began the second half brightly, with a break allowing Bellarabi to lay the ball across the face of goal for Hernandez to unleash a shot, but the ex-Manchester United and Real Madrid striker's effort sailed over the bar.
In the 52nd minute it was Barca's turn to fashion a good chance of their own as Rakitic picked the ball up just outside the box before finding Sandro, who subsequently drilled just wide of the target.
There was no let-up to the action, with Leverkusen increasingly under the cosh thanks to some smart play from Andres Iniesta, who fashioned a chance for Rakitic to fire against a defender before Neymar scuffed the rebound wide.
© Getty Images
The Barcelona playmaker went down clutching his hamstring on the hour, forcing Jordi Alba to come on in his place, but this setback did not deter the home side, who carried on weighing in with chances against their increasingly beleaguered opponents.
First Neymar came close with a free kick which sailed a yard wide of target, before Gerard Pique headed an effort straight into the arms of Leno, but still Leverkusen held firm going into the latter stages of the match.
The visitors' resistance would eventually crumble with just 10 minutes left, however, with Munir El Haddadi's deflected shot being parried by Leno into the path of Sergi Roberto, who had the easy task of tapping home from point-blank range.
Barcelona then sent their fans wild and broke the travelling contingent's hearts just two minutes later through Luis Suarez, Munir once again involved as he cut inside two challenges before laying the ball back to the Uruguayan, who rifled a controlled effort into the top corner to seal the win.
The result sees the Blaugrana top Group E with four points from their two games, with Leverkusen a point and a place behind in second.