Bayern Munich's Joshua Kimmich powered in a 63rd-minute header to give them a 1-0 victory over a toothless Arsenal on Wednesday and send them through to the Champions League semi-finals for the first time in four years with a 3-2 aggregate win.
Germany international Kimmich timed his run into the box perfectly to connect with a Raphael Guerreiro cross and put Bayern, who had earlier hit the woodwork twice from a double chance, in the driving seat following a 2-2 first-leg draw.
The Bavarians, enduring their worse domestic season in more than a decade, will next face Real Madrid in the last four while outgoing Bayern boss Thomas Tuchel became the first German coach to reach the last four with three different teams.
"Unbelievable win. It's been a tough season for us and we've had to fight and grind at times," said Bayern's top scorer Harry Kane, who had bagged a goal in the first leg.
"Today was just that - we knew it was going to be a tough game but also that at home we could make the difference with our fans there.
"As always in these types of games, the first half was a bit cagey. We said at halftime to up the tempo and the pressing and be better with the ball. That's what we did."
There was little to separate the two sides in a cautious first half with Bayern threatening early with two shots from Kane.
Arsenal, bidding to reach the semi-finals for the first time since 2009, were almost caught on the break in the 23rd minute when Noussair Mazraoui's cutback was palmed wide by David Raya. The Arsenal keeper also blocked a Jamal Musiala shot a minute later as Bayern had a brief spell of pressure in the first half.
The best chance fell to Arsenal in the 32nd with Gabriel Martinelli's first-time shot, after good work from Martin Odegaard, going straight to keeper Manuel Neuer, who set a competition record with his 58th clean sheet.