Bayern Munich beat Juventus 2-0 for a second time to reach the Champions League semi-finals and stay on course for the treble.
After a nervy start, the newly-crowned Bundesliga champions slowly but surely took control of the away leg, keeping Juve's chances at a premium and gradually sapping their spirit.
Mario Mandzukic headed home the loose ball on 64 minutes after Javi Martinez had been denied by Gianluigi Buffon. It was the goal which all but ended any hope Antonio Conte's troops had of staging a dramatic comeback.
And with the tie effectively over, the Bavarians played with freedom in the closing stages and added another through Claudio Pizarro's neat stoppage-time finish.
Bayern coach Jupp Heynckes, no doubt haunted by memories of the last-16 second-leg against Arsenal, had underscored the importance that his side avoid conceding for at least the first 20 minutes.
But it took them 10 to settle into the game, and they were fortunate that Juve were unable to capitalise more on their opening exchanges, full of loose passes and sloppy fouls.
That said, Mandzukic was awfully unfortunate to be booked by Carlos Velasco Carballo after six minutes when it was Giorgio Chiellini who had made contact with the striker, and the Croatian is now set to miss the semi-final first-leg.
Andrea Pirlo had the first big chance on the night, opting for power over his usual technique for a free-kick on the edge of the box. His on-target drive on 23 minutes forced a good parry from Manuel Neuer.
Six minutes before the break, it was Buffon’s turn to have his palms stung as David Alaba unleashed a wicked drive from Arjen Robben’s out-swinging corner.
Fabio Quagliarella exemplified the home side’s determined start to the second half by finding the outside of the post with a decent effort on 49.
But it would be their last serious chance to get on terms in the quarter-final, and the impressive Robben hit the woodwork himself eight minutes later at the other end as the visitors broke with a numerical advantage.
When Chiellini was actually penalised for bringing down Mandzukic, Schweinsteiger’s free-kick from the right was well met by Martinez, and though his volley was kept out by Buffon, the Croatian made certain that his side would contest the semi-finals.
Thomas Mueller should have made it 2-0 on the night moments later while Mirko Vucinic’s poor first touch wasted a neat dummy by both Paul Pogba and substitute Alessandro Matri.
But Juventus were losing their belief in a comeback by the minute, and with the contest already settled Bayern made it four over two legs at the death.
Schweinsteiger fed replacement striker Pizarro with a simple short ball down the middle and the Peruvian’s finish across Buffon was a fitting finish to a great week for last year’s Champions League runners-up.
MAN OF THE MATCH
Arjen Robben, Bayern Munich - Energetic performance which kept Juventus too busy to attack at times, and along with fellow wide man Franck Ribery helped Bayern get through phases of sloppy passing and nervy defending.
JUVENTUS: Buffon 7; Barzagli 6, Bonucci 4, Chiellini 5; Padoin 7, Pogba 7, Pirlo 6, Marchisio 6, Asamoah 6; Vucinic 6, Quagliarella 7. Subs: Giaccherini 5, Matri 5, Isla 5.
BAYERN MUNICH: Neuer 7; Lahm 6, Dante 8, Van Buyten 6, Alaba 7; Schweinsteiger 8, Javi Martinez 8; Robben 8, Mueller 5, Ribery 7; Mandzukic 7. Subs: Boateng 7, Luiz Gustavo 6, Pizarro 6.