Two goals up from the first leg at the Allianz Arena, Mario Mandzukic's 64th-minute goal finished the tie before substitute Claudio Pizarro added further gloss in stoppage-time.
Buoyed by winning its 23rd Bundesliga title at the weekend, Bayern was not ruffled by the home side's fast start and replied in kind before taking control of the game.
Serie A leader Juve headed into the match on the back of a weekend victory over Pescara, with its reverse in Germany its only defeat in the last nine.
Juventus was without suspended midfielder Arturo Vidal as Paul Pogba was promoted from the bench in his place, while home coach Antonio Conte gave Kwadwo Asamoah the nod ahead of Federico Peluso on the left wing.
Bayern had midfielder Javi Martinez available after his suspension for the first leg, but Toni Kroos missed out after picking up a groin injury.
It took just two minutes for the home side to have a shot on goal, although Mirko Vucinic's weak effort caused no alarm for Manuel Neuer.
Mandzukic picked up a harsh early booking for kicking Giorgio Chiellini's shin when competing for a 50-50 to ensure he would miss the first leg of the semi-finals.
Bayern created its first real opportunity after 14 minutes when a teasing Bastian Schweinsteiger free-kick was met by Daniel Van Buyten, but his header fell wide.
Andrea Pirlo stung the fingers of Neuer with a powerful 20-yard drive which the German pushed to safety after Claudio Marchisio was fouled by Philipp Lahm.
Bayern's Thomas Muller then half-volleyed wide from 20 yards as the play went from one end to the other.
A groggy Van Buyten departed after 35 minutes to be replaced by Jerome Boateng, who within four minutes tested Gianluigi Buffon with a half-volley.
Bayern was starting to control possession and Arjen Robben hit the post after 57 minutes from the edge of the area as the Juventus back-line dropped deep.
And eight minutes later the German champion was ahead. A curling Schweinsteiger delivery was met by Martinez at the far post and, although Buffon saved his attempt, Mandzukic was in the right place to head home.
With the tie effectively over, Alessandro Matri replaced Fabio Quagliarella and Mauricio Isla was introduced for Simone Padoin, but they could do little to help the Italian side going forward.
And Pizarro was on hand in stoppage-time to stroke home from close range as Bayern was a worthy winner.
The semi-final draw will take place on Friday evening (AEST) and you can see it LIVE right here on The World Game website.