A young Manchester City team fought back from 2-0 down to beat German champions Bayern Munich 3-2 in Miami.
Bayern were 2-0 ahead inside 25 minutes, Meritan Shabani heading the first goal before Arjen Robben doubled the lead after Franck Ribery's pass.
City lost new £60m signing Riyad Mahrez to an ankle injury in the first half.
His replacement Bernardo Silva pulled a goal back before 19-year-old Lukas Nmecha poked home the equaliser, Silva netting the winner from 15 yards.
Nmecha, born in Germany and capped by England at youth level, was one of six teenagers to start for Pep Guardiola's side.
The Premier League champions return to England to prepare for next Sunday's Community Shield date with Chelsea (15:00 BST) with a morale-boosting win, having lost their previous two games in the United States to Borussia Dortmund and Liverpool.
City youngsters light up Miami
This was a night when Guardiola gave City's fans a glimpse into the future.
The Spaniard fielded a side sprinkled with teenagers and, after falling 2-0 behind to a strong Bayern team boasting four Champions League winners, showed tremendous character and spirit to win.
Eighteen-year-old Spanish forward Brahim Diaz caught the eye with a lively attacking display which he came close to capping with a goal in the 36th minute.
Nmecha hit the post with a confident effort soon after he was denied by Sven Ulreich's leg when the game was goalless.
Luke Bolton, 18, also showed promise with a string of attacking runs down the right, while it was England Under-17 world champion Phil Foden's shot which Ulreich spilled and allowed Nmecha to score.
Meanwhile, Silva's winner came courtesy of a pass by 17-year-old substitute Adrian Bernabe.