AC Milan beat Bayern Munich on penalties after an entertaining 3-3 draw in the International Champions Cup.
In an attack-minded encounter, M'baye Niang gave AC Milan an early lead after he capitalised on a defensive error to stride through and finish calmly into the bottom corner.
The lead only lasted six minutes though as Franck Ribery got the first of his two goals, skilfully flicking up and volleying home a cross from the left wing.
It was end to end stuff and Niang missed a couple of good opportunities before David Alaba fired Bayern in front for the first time with a low drive from 25 yards.
Milan came out with an increased intensity after the break and Andrea Bertolacci equalised just minutes after the restart before Juraj Kucka turned the game on its head.
His shot on 61 minutes from long range took a big deflection and agonisingly bobbled over the line.
Vincenzo Montella's side looked to be seeing the game out pretty comfortably but a late rally from Bayern brought them level once again.
A bit of a melee in the box resulted in a penalty being awarded and Ribery stepped up to force the penalty shoot-out.
The first seven penalties were all converted before Rafinha missed for Bayern which meant Giacomo Bonaventura had the chance to win the game with the next penalty. He made no mistake.