Bayern Munich demolished AC Milan with a fine display of confident, attacking football on their first appearance at the Allianz Arena since Louis van Gaal took over.
Nineteen-year-old striker Thomas Muller grabbed a brace as the record German champions taught the Italians a lesson with a comfortable 4-1 win.
Bastian Schweinsteiger and Saer Sene were also on target for Bayern with a free-kick from Andrea Pirlo Milan's only consolation.
Bayern will now meet Manchester United in the final of the Audi Cup tomorrow night with Milan contending third place with Boca Juniors.
Bayern took the game to their Italian opponents from the very beginning with Muller, the young revelation of their pre-season, terrorising Milan's experienced defender Alessandro Nesta, a man 14 years his senior.
He broke the deadlock after 12 minutes with a predatory finish that his legendary namesake Gerd Muller would have been proud of to conclude a fluid team move.
Hamit Altintop slotted the ball through for Jose Ernesto Sosa, who dragged the ball back from the goalline for Muller to sidefoot in from point-blank range.
Mario Gomez had a string of opportunities to add to the early lead, but he was unable to put the finishing touch to another impressive team move which involved Philipp Lahm and Muller on the half-hour mark.
Gomez then nicked a Daniel Pranjic cross just wide of the far post from close range with Nesta in close attention as Bayern tore Milan to shreds, albeit without converting their dominance into goals.
At the other end, Giuseppe Favalli did find the back of the net a minute before the break but the goal was ruled out for offside.
The hosts continued to take the game to their guests, who were clearly suffering after a tiring tour of the USA came to an end only early yesterday morning.
Half-time substitute Schweinsteiger inspired Gomez to another chance which he dragged just wide of Marco Storari's goal while on the stretch while Thiago Silva almost put the ball in his own goal as he cut out a low cross from Lahm.
There was another flash of danger at the other end with Martin Demichelis heading over the crossbar as his team mates just looked on believing the ball had already gone out of play.
Schweinsteiger then grabbed a deserved second goal for Bayern with a touch of individual skill.
He left Gennaro Gattuso, Massimo Oddo and Kakha Kaladze all on the floor before placing his shot calmly past Storari into the bottom corner from 15 yards.
A goalkeeping error by Hans-Jorg Butt allowed Milan an unexpected route back into the game less than two minutes later.
He flapped at Pirlo's 25-yard free-kick and could only push the ball into the roof of his own goal.
But a grandstand finish enabled Bayern to move comfortably into tomorrow's final against Manchester United.
Young substitute Sene, making his first ever appearance in the first team just 24 hours after scoring the equaliser for Bayern's reserves in their third division match, opened his account for the club in style.
His initial shot was saved by Storari, but the ball fell for Muller, Sene's former team mate in the youth team, who unselfishly laid the ball back into the 22-year-old's path, giving him an easy tap-in from close range.
And there was another tap-in for Muller in the last minute from Alexander Baumjohann's cross to complete a deserved rout of the Rossoneri.