Ronaldo Madrid AC Milan
Cristiano Ronaldo saw extended action against AC Milan, but keepers Kiko Casilla and Keylor Navas lifted Real Madrid to the victory. Getty Images

Excellent goalkeeping forced Real Madrid and AC Milan into a long penalty shootout, and it seemed only fitting that the keepers would ultimately decide the International Champions Cup match.

In front of a roaring Shanghai Stadium crowd, the two sides waited until the shootout to unleash a barrage of scoring as Madrid came up with the 0-0 (10-9) victory with keeper Kiko Casilla netting the winner before 16-year-old Milan keeper Gianluigi Donnarumma missed his opportunity to tie.

The win pushes Los Blancos preseason record to 3-1 before they meet Premier League’s Tottenham in exhibition play next week, and prior to the start of La Liga on Aug. 23.

Milan were seeking their second straight victory after dropping archrivals Inter in ICC play, and new manager Sinisa Mihajlovic must have enjoyed how well his side played against one of the game’s elite clubs.

The revamped Rossoneri pushed Madrid to the brink several times, largely outplaying the Spanish titans with six shots on target to their three, but keepers Keylor Navas and Casilla held Los Blancos steady with six combined saves in regulation.

Donnarumma is so young he likely won’t forget his missed penalty, but he and Diego Lopez put on an excellent display with three combined saves and another for Donnarumma on Toni Kroos' penalty attempt to the bottom right corner.

That proved to be the only missed attempt from Madrid, while Milan’s Carlos Bacca, appearing in his second match with his new club, badly missed his shot wide right.

The exhibition saw more time for Madrid’s exciting tandem of Cristiano Ronaldo and Gareth Bale, with both playing until the 71st minute mark before leaving in the second wave of subs.

Check out highlights below.