Ilkay Gundogan scored twice but missed a penalty as Manchester City survived a late scare to maintain their title charge with a 2-1 win over relegation-threatened Leeds.
The German midfielder swept home from the edge of the area in the 19th and 27th minutes at the Etihad Stadium to put the champions on course for what seemed a comfortable victory.
City then spurned a host of chances, with Erling Haaland twice being denied by the woodwork and Gundogan hitting a post from the spot, before Rodrigo gave Leeds late hope in Sam Allardyce’s first match in charge.
The hosts held on for a victory that lifts them four points clear of Arsenal at the top of the Premier League, with both sides having four games remaining, but manager Pep Guardiola will be concerned it was not emphatically closed out.
Such was their dominance, City had all but reduced the game to walking pace before Rodrigo changed the picture in the 85th minute.
Allardyce, who made four changes, including bringing in Joel Robles for Illan Meslier in goal, will at least take encouragement from that, although for the majority of the game Leeds were comprehensively outplayed.
City started strongly and there was little surprise when the opener came after 19 minutes, with Guardiola’s side having already threatened numerous times.
Mahrez himself then shot narrowly over before Leeds-born Haaland uncharacteristically blasted wide after Gundogan pinged the ball into the area and De Bruyne teed up the striker with a brilliant lay-off.
With Leeds clearly struggling, a second goal seemed inevitable and it arrived in similar fashion to the first as Mahrez cut inside and found Gundogan 18 yards out once again. This time the German picked the opposite corner as he clipped the ball into the net.
Leeds did have a chance when a Weston McKennie header forced Ederson to save, but the visitors were fortunate not to concede again before the break.
Haaland again spared them when he miskicked in front of goal, Alvarez had an effort cleared off the line and Phil Foden volleyed narrowly over with the final kick of the first half.
City seemed to be cruising and Gundogan looked likely to wrap up the game by completing his treble when Haaland handed him the ball after Foden was felled by Pascal Struijk.
Yet his effort cannoned back off Robles’ left-hand post and Rodrigo set alarm bells ringing when he pounced on a Manuel Akanji error to pull one back late on.
City needed to regroup, but avoided any further scares.