Manchester City are now just four points clear at the top of the Premier League having played a game more than second-placed Liverpool after being held to a goalless draw at Crystal Palace.
Liverpool are next in action when travel to in-form Arsenal on Wednesday – Jurgen Klopp’s side are still to travel to the Etihad next month.
City, with the same starting line-up that eased to victory over Manchester United eight days ago, huffed and puffed but could not find a way through.
The Eagles may remain without a home win since beating Norwich in December but this will feel like a victory for Patrick Vieira, who also masterminded a 2-0 success in the reverse fixture.
For all their possession, City created a couple of issues of their own making, Aymeric Laporte dispossessed by Conor Gallagher before the visitors again ceded possession leading to Michael Olise’s shot flashing wide of the far post.
City were almost in soon after. Vicente Guaita spilled a Kevin De Bruyne strike, only for Bernardo Silva to attempt to skip past the Palace goalkeeper from the rebound but instead run the ball out of play.
Palace were still in the fight as Jean-Philippe Mateta broke behind the City backline and saw his shot deflected behind.
John Stones hit a long-range effort at the other end which was also blocked for a corner, Palace breaking from the set-piece with Olise and Mateta combining only for the latter to slip as he tried to get his shot away.
City were now turning the screw, Joao Cancelo smacking the post from long-range, before Laporte thrashed the rebound high and wide with the goal gaping.
Crystal Palace 0-0 Man City
— Sporting Life Football & Infogol (@InfogolApp) March 14, 2022
‣ xG: 0.55 - 1.95
Patrick Vieira’s Palace take four points off Pep Guardiola’s City this season, limiting them to just 2.74 xGF over their two meetings.
Title race very much on. pic.twitter.com/fTsQXXPi1s
Riyad Mahrez, with 13 goals in his last 17 games, was next to pass up a great chance, shooting straight at Guaita when an effort anywhere else would have broken the deadlock.
The Algerian again came close, arrowing just over in the final minute of a first-half that somehow ended goalless.
Cheikhou Kouyate could not make meaningful contact with a header just six yards from Ederson’s goal as the second half began in a similar fashion.
The Palace goal was living a charmed life, De Bruyne striking the inside of a post and Mahrez’s follow-up brilliantly saved by a recovering Guaita.
For all their chances, City began to toil as Palace held firm – even as their counter-attack opportunities lessened.
Bernardo failed to make contact with a Jack Grealish cross when just four yards out, with Guardiola unmoved and his substitutes still warming up along the touchline.
Palace were starting to tire but their resolute performance was keeping them in the contest as the game entered the final stages.
Despite that, substitute Odsonne Edouard broke free but could only shoot at the legs of a defender while Wilfried Zaha stung the palms of Ederson.
City could not muster a late goal, Laporte unable to turn home a free-kick before a mishap at the other end almost let in Gallagher.
The result means the title race is now finely-poised, with Liverpool next to stake their claim when they visit the capital in less than 48 hours.