SHANGHAI -- Emiliano Martinez made two penalty saves as Arsenal beat Bayern Munich 3-2 in a penalty shootout after Alex Iwobi had levelled the preseason friendly 1-1 with a last-gasp header.
Martinez dived to his left to deny Juan Bernat after also saving David Alaba's opening spot kick in the shootout, handing Arsenal an improbable victory despite being outplayed for much of a game that was played in sweltering heat.
Robert Lewandowski's penalty had given Bayern a ninth-minute 1-0 lead and Petr Cech had to make a number of saves to keep Arsenal in the game before Iwobi levelled with the last attack of the game.
Iwobi won the ball in his own half and fed Aaron Ramsey on the break, who returned a cross into the box for the Nigeria international to score with an accurate header.
Martinez then did the rest for the Gunners, with Aaron Ramsey, Nacho Monreal and Iwobi scoring in the shootout.
Bayern had dominated much of the game but were repeatedly denied by Cech, including two good saves from James Rodriguez to prevent the new signing from scoring his first goal for the club.
Lewandowski, however, sent Cech the wrong way from the spot after Ainsley Maitland-Niles had been adjudged to foul Bernat in the box.
Arsenal came close to equalising when Mesut Ozil carved open the Bayern defence with a perfect pass to send Alexandre Lacazette through on goal, but the striker was denied by the legs of Bayern goalkeeper Tom Starke.
Those were exactly the types of chances that Arsenal's record signing was brought in to put away, but he didn't have another sight of goal before coming off at half-time.
Both teams made multiple changes at the break but Bayern still largely dominated proceedings and carved out a number of good chances against a makeshift Arsenal back three that consisted of left-back Monreal, midfielder Mohamed Elneny and 19-year-old Krystian Bielik.
But Cech showed he's already in great form, first stopping a deflected shot from Thomas Muller and a hard strike by Lewandowski before rushing out to block a volley from James at point-blank range.
Granit Xhaka also rushed back to deny James an open goal just before the break after a cut-back from Franck Ribery on the wing, while Cech made another low save from the Colombia international just after the break.
Bayern signed James from Real Madrid on a two-year loan, after Arsenal spurned the German giants' interest in Alexis Sanchez, and Carlo Ancelotti started him alongside Ribery, Lewandowski and Muller in a strong attacking lineup.
Cech was taken off for Martinez to a large ovation in the 71st minute, having saved Arsenal from another heavy loss following two 5-1 defeats against Bayern in the Champions League last season.
Per Mertesacker was set to start for the Gunners but was withdrawn just before kickoff with an illness, while new signing Sead Kolasinac added to the shortage of defenders when he was taken off late in the first half.
This was the first game in China for both teams as part of the International Champions Cup, with Arsenal playing Chelsea in Beijing on Saturday while Bayern travel to Shenzhen to play AC Milan.