One of the breakout stars of the Qatar World Cup as the cornerstone of Croatia’s miserly defence, Gvardiol showed his attacking flair, launching himself above the City defence to head in the equaliser in the 70th minute.
City took the lead after 27 minutes through Mahrez and looked on course for a comfortable away win but their fluency deserted them after the interval in the first leg tie.
The home side, who have only lost once in their past 20 games, found their zip in the second half and looked the team most likely to head to the Etihad for the return leg with a victory under their belt.
City’s star striker Erling Haaland suffered for a lack of service, with the Norwegian clearly missing ill midfielder Kevin de Bruyne.
City dominated possession in trademark fashion for the first quarter of the match, but failed to carve out any opportunities against a well-drilled and structured home side.
“At the end, we were a little nervous, the coach told us to calm down, there are 90 minutes left to play,” said Mahrez.
Leipzig coach Marco Rose added: “Two very, very different halves. We just didn’t happen in the first half, just chased the ball, were very bad when we had it. The second was quite different, we were better with the ball, won it back better and played how we had envisioned to play.”
The breakthrough came in the 27th minute, when City midfielder Jack Grealish took advantage of a sloppy pass from Xaver Schlager, pouncing with threading a vertical ball goalwards.
City captain Ilkay Gundogan attracted the attention of the Leipzig defence but let the ball run through his legs into the path of Mahrez, who cut a shot past the fingertips of ‘keeper Janis Blaswich and into the net.
Rodri went close to doubling City’s lead just three minutes later but put his header just wide.
Former Chelsea striker Timo Werner had half a chance in first-half injury time, but waited too long to unleash a shot and his deflected effort was easily claimed by Ederson.
Leipzig swapped out wing backs Lukas Klostermann and Benjamin Henrichs at halftime looking for additional penetration.
The new man went close to scoring an equaliser twice in the space of two minutes early in the second half, first through a looping header and second when he shanked a close-range attempt when one-on-one with Ederson.
The introduction of Christopher Nkunku in the 66th minute came during the home side’s best period of the game and gave them an immediate boost, striker Andre Silva forcing a rushed save from Ederson a minute later.
Gvardiol snuffed out an Haaland counter attack and got the home side on the scoreboard soon after, climbing a metre higher than the City defence to head in the equaliser from a Marcel Halstenberg corner.
Man City held on as Leipzig searched for a winner, meaning both teams head to Manchester on an equal footing ahead of the return fixture on March 14.