Pepe Guardiola finished Manchester City's US tour with a deserved 3-2 victory over former club Bayern Munich, but his evening was soured with an injury to new signing Riyad Mahrez.
Two goals from substitute Bernardo Silva helped Manchester City come from 2-0 down to end a run of two defeats in this International Champions Cup campaign with youngster Lukas Nmecha scoring in between.
Mahrez, however, went down twice with what looked like an ankle problem. He was eventually forced off after just 27 minutes and looked in discomfort.
With the traditional English season opener - the Community Shield - taking place next Sunday at Wembley against Chelsea, coach Guardiola will assess the Algerian's fitness as the start of the Premier League campaign looms into view.
Meanwhile Guardiola's squad flew back to Manchester at the end of the Saturday match.
City's opening games against Borussia Dortmund and Liverpool had both ended in narrow defeats, but with Guardiola opting for familiarity -- eight players in the starting lineup here had begun all three games of this US tour -- it was another young side full of running.
"We analyzed our mistakes in the previous games and did it better against Bayern Munich," said Guardiola.
"We were able to play good and overcome the situation when we were 2-0 down."
Bayern's main men Arjen Robben and Franck Ribery looked dangerous on the ball, yet with Mahrez afforded plenty of space in midfield the English champions dominated the early stages and really should have opened the scoring.
Mahrez, who had already spent a few minutes getting treatment after being challenged, sent German-born City striker Nmecha through only for his shot be saved by Sven Ulreich.
It wasn't long before Nmecha had the opportunity to make amends as another classy through ball from Mahrez set him free, but this time he was denied by the post.
That was to prove a costly couple of misses because on 14 minutes, Bayern were ahead.
- Finds space -
The lively Rafinha found space on the right and his cross was headed in by Meritan Shabani.
It was a good team goal and on 23 minutes, Ribery and Robben combined for number two. The French midfielder's lofted through ball found the Dutchman in the area and his two touches - one to control and one to expertly lift the ball past Claudio Bravo - were top class.
And all of a sudden, a difficult evening for Guardiola darkened on 27 minutes when Mahrez was forced to leave the field with an injured ankle.
"We will see, maybe it is not a problem," said Guardiola.
The Algerian limped off to be replaced by Portuguese midfielder Silva, who scored the goal his team's display had deserved on the stroke of half-time.
The former Monaco star ran unchallenged 25 yards out and produced an excellent low, curling finish leaving Ulreich with no chance.
The Bayern keeper was being kept busy and on 51 minutes, he was picking the ball out of the back of the net once more after Silva fed Foden and when his curling shot was parried, Nmecha was on hand to steer home from close.
No-one could begrudge this young City side a share of the spoils, but the game was turned on its head with 20 minutes remaining.
A first City appearance for 17-year-old Spanish attacking midfielder Adrian Bernabe quickly resulted in a third goal for Guardiola's side. The former Barcelona youngster teed up Silva who wriggled clear in the area before drilling low past Ulreich for the winner.