Sergio Aguero scored the first goal of the new Pep Guardiola era but he needed penalties to see his first win as Manchester City beat Borussia Dortmund in the International Champions Cup.
Argentina striker Aguero came on as a half-time substitute to put City ahead in the 78th minute before Christian Pulisic scored with virtually the last kick of the game to send the match to penalties.
Academy keeper Angus Gunn then became the hero — saving three spot-kicks as City won 6-5 on penalties.
It was just City’s second game of preseason — following the cancellation of Monday’s game against Manchester United — while it was Dortmund’s sixth and Guardiola can be pleased with his side’s workout on a sultry night and on a pitch that cut up badly.
But they started poorly with Willy Caballero, twice, and Tosin Adaroiboyo needlessly gifting the Bundesliga champions clear openings with stray passes but Ousmane Demble and Emre Mor failed to hit the target.
Guardiola wasn’t happy with his defence and marched onto the pitch during a drinks break midway through the first half to passionately issue orders to several players.
City picked up for the rest of half and Kelechi Iheanacho was twice denied by saving tackles as he threatened to score.
Only Nicolas Otamendi started City’s penultimate game of preseason from the Copa America and Euro 2016 players that joined up with the squad in China.
But Guardiola made a raft of changes at the start and throughout the second half with Aguero, David Silva, Nolito and Raheem Sterling getting their first runout of the new era.
Aguero rounded off a neat passing move to fire City ahead from a David Silva assist but Dortmund scrambled a late equaliser when Pulisic fired a low shot through a forest of legs.
Aleix Garcia and Raheem Sterling missed for City in the shootout but England youth keeper Gunn made three fine saves, including the final spot-kick from Mikel Merino, to claim a victory in front of a 30,000 crowd.