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 powered home from the edge of the area in the 19th and 27th minutes to direct the champions to what looked to be a comfortable lead at the Etihad Stadium on Saturday.
City then spurned a number of chances, with Erling Haaland twice hitting the woodwork and Gundogan being denied by goalkeeper Joel Robles, before Rodrigo gave Leeds late hope in manager Sam Allardyce’s first game.
The home side held on for a win that will lift 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 that it was not emphatically sealed.
Such was their dominance, City almost slowed the game down before Rodrigo changed the picture in the 85th minute.
Allardyce, who made four changes, including bringing on Robles for Illan Meslier, will at least take encouragement from that, although Leeds were completely outplayed for much of the game.
City started strongly and there was little surprise when the opener came after 19 minutes, with Guardiola already threatening several times.
Kevin De Bruyne had a shot blocked, Julian Alvarez fired over and Haaland was denied by Robles before Gundogan crossed into the bottom corner from the edge of the area after Riyad Mahrez cut inside.
Mahrez himself then fired just over before Leeds-born Haaland uncharacteristically fired wide after Gundogan pinged the ball into the area and De Bruyne teed up the striker with a brilliant lunge.
With Leeds clearly struggling, a second goal seemed inevitable and it came in a similar fashion to the first when Mahrez got inside and again found Gundogan 18 yards out. This time the German chose the opposite corner as he slotted the ball into the net.
Leeds had a chance when Weston McKennie’s header forced Ederson into a save, but the visitors were lucky not to concede again before the break.
Haaland saved them again when he made a mistake in front of goal, Alvarez struggled to clear off the line and Phil Foden’s volley went just wide with the final kick of the first half.
Haaland hit the woodwork twice after the break, first heading against the post after a play-through and then hitting the back of the post after being played through by Rico Lewis.
City appeared to be cruising and Gundogan looked set to end the game with a lofted finish when Haaland fed the ball to him after Foden had been brought down by Pascal Struijk.
Yet Robles guessed right to save and Rodrigo set off alarm bells when he pounced on Manuel Akanji’s mistake to pull one back late on.
City needed to regroup but avoided another scare.