Manchester City moved four points clear at the top of the Premier League by surviving a late scare to beat a Leeds side playing under new interim manager Sam Allardyce for the first time.
Two fine first-half goals by Ilkay Gundogan had done the damage for City, who appeared utterly dominant as they headed towards their 10th straight league win.
Gundogan's first neat finish, which came after Riyad Mahrez found him in space on the edge of the area, was slotted into the bottom left-hand corner of Joel Robles' goal.
His second, again with Mahrez the provider, was identical apart from that he found the opposite corner of the net.
City were in full control but could not find a third goal to finish Leeds off after the break. Even Erling Haaland, for once, failed to score - his best effort came back off the post.
Their best chance to wrap the game up came with six minutes to go, when Pascal Struijk fouled Phil Foden inside the area and referee Andrew Madley pointed to the spot.
Regular penalty-taker Haaland passed up the chance to take it and add to his 51-goal tally for the season, but saw Gundogan miss out on a hat-trick when he sent his effort against the post.
That gave Leeds hope and, only 58 seconds later, they were somehow back in the game. Manuel Akanji failed to deal with a long ball and substitute Rodrigo beat Ederson with a slick low finish.
Their noisy supporters roared them forward in search of an unlikely equaliser but City were not in the mood to let the three points slip.
Pep Guardiola's side march on, with the next step in their treble bid coming against Real Madrid at the Bernabeu on Tuesday, in the first leg of their Champions League semi-final.
They now have four Premier League games left and for the first time this season have a significant lead over second-placed Arsenal, who travel to third-placed Newcastle on Sunday.
Leeds and Allardyce, meanwhile, only have a grim fight against relegation ahead. With three games left, they remain out of the relegation zone on goal difference - but they will have to show far more attacking intent in the next few weeks if they are to avoid the drop.
Allardyce's comments at his unveiling in midweek, when he claimed to be the equal of any manager in the Premier League, succeeded in taking the pressure off his players before kick-off, but he could do little more to help them once the game began.
As anticipated, his plan to stop City involved defending deep and in numbers. Initially it worked, but with Leeds so timid, it seemed only a matter of time before the leaders found a way through, which they duly did.
At 2-0, it felt like damage-limitation was Allardyce's main goal and, on that front at least, this was mission accomplished - his side did not ship chances or goals in anything like the same numbers as they have in recent weeks.
Their late rally was something of an unexpected and, probably, undeserved bonus. But, far from being battered, as many people expected, this was a performance to build on - and even Allardyce said "we take some hope from it".
"We now need to build on that and try to get a result," he added. "I was slightly fearful, but we sorted it out for the second half.
"When you see Manchester City running down the clock for four minutes at the end, you know you have given yourself a chance. We did right until the end, but it didn't quite happen."
His first home game in charge will be against Newcastle on 13 May.