After defeats to Newcastle and Wolves, Pep Guardiola’s side travelled to Germany looking to make it two wins from two in Group G at the start of the defence of their European crowd, but it looked as though they would be frustrated.
City dominated the first-half, with Bernardo Silva somehow missing from just a couple of yards out before Phil Foden did finally open the scoring, as he was picked out by Rico Lewis and the first-time finished bounced off the turf and into the net.
It was one-way traffic in Germany, but from nowhere Leipzig levelled proceedings only a few minutes after the break. City lost the ball in the final third and Leipzig finally mounted a meaningful counter, Lois Openda played through and finishing well under pressure past Ederson.
The match remained level heading into the closing stages, at which point Alvarez, only just off the bench, curled a sensational finish into the top corner from the edge of the area to restore the lead. That forced Leipzig to push for an equaliser in stoppage-time, but that left space to be ruthlessly exploited.
Alvarez slid the pass through to fellow substitute Jeremy Doku, who finished off a swift counter to leave City in complete control of Group G, and in confident mood heading into Sunday’s huge Premier League trip to face Arsenal.
Rodri will be suspended for that match, as his three-match domestic ban continues, but the return in Germany of Bernardo Silva will be a major boost for Guardiola, while Lewis shone in midfield to bolster his claims for a place in the starting lineup in north London.