Barcelona and Bayern Munich both won penalty shootouts to advance to the final of the Audi Cup, a warm-up tournament ahead of the European season.

Champions League winner Barcelona beat Internacional Porto Alegere 4-2 on penalties after a 2-2 draw on Tuesday.

Bayern beat AC Milan 5-3 after a 1-1 draw in 90 minutes.

Extra time was not played. The final is Wednesday.

Barcelona played without Lionel Messi and many other regulars but still led twice before the Brazilian side rallied both times.

Thiago Alcantara scored in the 14th for Barcelona and Jonathan dos Santos added the second in the 63rd. Nei scored for Internacional in the 56th and Leandro Damiao notched the late equalizer in the 85th to send the match into the shootout - only to miss a key penalty for the Brazilians. Pinto then converted to seal Barcelona's win.

Bayern fell behind to a fourth-minute goal by Zlatan Ibrahimovic before Toni Kroos equalized in the 34th.

Alberto Paloschi sent his spot kick high and Bastian Schweinsteiger converted his to send Bayern to the final.

Robinho played in the second half for Milan and Alexandre Pato came on late in the game.

Bayern was without Franck Ribery because of an ankle injury and Arjen Robben hobbled off in the second half. Coach Jupp Heynckes said the Dutch winger had a bruise and should be back after a couple of days.