Manchester City struck twice late on to continue the winning start to their Champions League defence with a hard-fought 3-1 victory at RB Leipzig.
Julian Alvarez finally settled City’s nerves in Wednesday’s Group G encounter with a fine strike six minutes from time at the Red Bull Arena before fellow substitute Jeremy Doku wrapped up the win.
Phil Foden had opened the scoring midway through a first half the holders dominated but the hosts responded against the run of play through Lois Openda.
Foden hit the woodwork as City pushed for a winner but, with Erling Haaland faltering in front of goal, it looked like being a frustrating night until Alvarez struck.
That City would need such late heroics from the bench seemed unlikely as they controlled the first half.
The presence of Rodri, who is currently serving a domestic ban, brought a noticeable calm that was missing in his absence in Saturday’s defeat at Wolves.
Yet it was Rico Lewis, playing alongside him in midfield, who caught the eye with his determination to win possession and some driving runs.
Lewis had City’s first serious opportunity after a nice turn in the area but his shot was blocked. Foden drove the ball back across goal from the rebound but Bernardo Silva, returning to the side after injury, failed to turn it in at the far post.
City’s opener came after 25 minutes from another attack instigated by Lewis. The lively youngster pushed forward and played a one-two with Silva before pulling back for Foden in the area.
The England international met it with a first-time shot that bounced beyond Janis Blaswich.
City pushed for a second before the break, with Haaland twice breaking free on the left but the Norwegian first shot wide and was then denied by Blaswich.
RB Leipzig 1 Manchester City 3 - in pictures
It was not until the final minute of the first half that Leipzig had an effort on goal when Openda’s long-range shot was deflected over and City reached the break looking completely untroubled.
All their good work was undone within moments of the restart as Jack Grealish misplaced a pass and they were caught by a Leipzig counter-attack.
Yussuf Poulsen released Openda with a pass from the centre circle and the Belgium international raced through to beat Ederson with a low shot that went in off the base of the post.
Haaland threatened to restore City’s lead when he fired wide and then spurned an even better chance when he missed the target from a Foden cross.
Foden went closer when he curled a free-kick against the bar from a wide angle but Haaland’s frustration continued as he shot at Blaswich and skewed another effort over.
City were caught on the break again but were reprieved when Emil Forsberg failed to find a colleague in the box and Ederson needed to punch clear after substitute Timo Werner broke free.
Pep Guardiola’s changes made the difference as Doku teed up Alvarez to clip a fine shot over Blaswich from the edge of the area.
Doku then put the seal on victory when he finished off a quick break in injury time as Leipzig paid the price for pushing players forward.
After the game, Foden said of Alvarez's goal: "Magical. Julian has been top this season. He is someone we look to now to score the big goals. He came on and changed the game and he is a big player for us.
"The last two games have not been ideal for us. We came off the back of two rubbish results and we had to make that right.
"We know what [Leipzig] are about. Last time we played them, we were very good in the first half and then they came out in the second and performed."
On the performance of Lewis, he said: "Rico Lewis was brilliant for us today. He broke a lot of lines. I am happy for him and it is nice to have another academy player on the pitch with me."
City manager Guardiola said of Alvarez's goal: "It's not the first goal that Julian has scored. I loved it because Nathan, Jeremy, Julian, the contribution they have made since coming on from the bench, with a smile on their faces, not complaining because they didn't play and when that happens, you always play good and Julian made an extraordinary goal."