Second-half goals from Lucas Hernandez and Leroy Sane condemned Xavi’s side to yet another loss in Bavaria, a historically poor hunting ground for the Catalan giants.
Barcelona were unable to capitalise on a dominant first half, with Lewandowski spurning some fine opportunities, while Pedri struck the post after the visitors had fallen two behind.
A fightback never appeared likely, with Bayern producing a stellar display in the second period after a frustrating first 45 minutes.
After an end-to-end start, Barcelona looked the more threatening, with Pedri forcing Manuel Neuer to make a smart save and Lewandowski passing up a chance on the volley.
Lewandowski, ever the threat, then saw a header from close range saved well, while Raphinha dragged a low shot wide from outside the box.
Marc-Andre ter Stegen was belatedly called into action early in the second half as Leon Goretzka tested his compatriot from distance, and the resulting corner provided the breakthrough.
Joshua Kimmich’s delivery to the near post was met by the head of Hernandez, escaping Marcos Alonso’s attention and applying contact ahead of Ter Stegen.
And the lead was doubled four minutes later when Jamal Musiala fed Sane, who raced away and poked a deft finish into the net.
Pedri clipped the upright after a one-two with Lewandowski created space in the area, yet that was as close as Barca would come on another difficult night.