Bayern Munich scored either side of halftime through Michael Olise and Harry Kane but had to endure late pressure from host Celtic before securing a 2-1 victory in their Champions League playoff first leg on Wednesday.
Olise's stunning shot in the 45th minute put the German side in front, and Kane doubled the lead with a 49th-minute volley at the far post.
Celtic, which put the ball in the net with Nicolas Kuehn, but had the effort ruled offside in the very first minute of the game, cut the deficit in the 79th minute thanks to Daizen Maeda's close-range header to inject late drama into the match.
"There were definitely areas in the game in which we could have done better, and we'll need to improve for next week, but overall we scored at the right times," Kane said.
"They put us under pressure at the end, and we had to stay strong, which we did. Whenever you win a game like this, you're always pleased because it's not an easy place to come."
The visitors, bidding to reach this year's final, which will be played in their own Allianz Arena in Munich, had close to 70% of the possession in the first half but struggled with Celtic's disciplined backline.
Bayern did have a chance through Kane, but it took a superb effort from Olise to break the deadlock on the stroke of halftime.
The attacking midfielder controlled a deep cross from Dayot Upamecano, cut in and hammered an unstoppable shot into the top corner.
They struck again four minutes after the restart when Kane was left completely unmarked at the far post to volley in straight from a Joshua Kimmich corner.
Kane's goal made him the first English player to score 60 goals in UEFA club competitions.
Bayern was lucky not to concede a penalty in the 57th minute after Upamecano stepped on Arne Engels' foot in the box, with the referee deciding against a penalty after a lengthy VAR review.
Celtic came close in the 74th when goalkeeper Manuel Neuer was beaten to the ball by Maeda, but the Japanese player's shot rolled parallel to the empty goal before being cleared. He did better a few minutes later, nodding in from close range to pull a goal back.
"The last 25 minutes, we started to press the game, we were more active at the top end of the pitch and you see what it brought — aggression," Celtic coach Brendan Rodgers said.
"At 2-1, Bayern Munich are hanging on. That's what we can take from it. We've got one more shot."
Bayern defended well as Celtic poured forward, and it needed a fine save from Neuer in stoppage time to hold on for the victory ahead of Tuesday's return leg in Munich to decide a place in the round of 16.
With your current subscription plan you can comment on stories. However, before writing your first comment, please create a display name in the Profile section of your subscriber account page.