If this goes down as the day Manchester City all but mathematically surrendered their title, frustration will surely be the searing emotion. They dominated Crystal Palace and looked to have overturned Cenk Tosun’s first-half strike via Sergio Agüero goals on 82 and 87 minutes. However Wilfried Zaha raced upfield with the clock in added time and the winger hit a cross at Fernandinho, which the Brazilian turned beyond his own goalkeeper, Ederson.

This quietened the home crowd, and the draw means Liverpool can pull 16 points ahead of City if Manchester United are beaten on Sunday, with the leaders still having another game in hand to play.

On David Silva’s 300th league appearance Pep Guardiola made three changes, drafting in Ilkay Gündogan, Bernardo Silva and Raheem Sterling, with Roy Hodgson introducing only the on-loan Tosun as Palace’s forward.

Manchester City 2-2 Crystal Palace, Arsenal 1-1 Sheffield United and more – live! Read more

There is no doubt Benjamin Mendy enhances City – the issue is if he can stay fit. Here the left‑back’s ability to hit a curving cross that is difficult to defend was illustrated on countless occasions, with an early one aimed at Sterling coming close to creating an opening goal.

David and Bernardo Silva, Sterling, Mendy and Kevin De Bruyne combined throughout to give Palace problems. When De Bruyne’s 20-yard free-kick crashed off Vicente Guaita’s crossbar, Fernandinho looked to finish the rebound from close in only to be put off by a shove from James McArthur. The Palace midfielder was lucky this went undetected as he had just been booked by Graham Scott for the foul that led to De Bruyne taking aim from the dead ball.

When Hodgson had a fierce word with Guaita for hitting a clearance straight to Ederson, this indicated how the visitors could ill-afford to waste the scant possession they had.

Zaha is expected to carry Palace’s attacking threat and it was noticeable how Bernardo Silva and João Cancelo worked hard to go tight on him when he received.

John Stones, who was shaky throughout, may have been lucky not to concede penalty when attempting a tackle on Zaha: the Palace man went down but VAR, to the centre-back’s relief, ruled him innocent.

Sterling is not renowned for headed finishes but he went near to opening the scoring from a Bernardo Silva ball in from the right.

By now the half-hour had passed and Hodgson could be pleased at the goalless scoreline. The City support, though, were becoming frustrated at having nothing to show for their team’s superiority.

Agüero looked to have fashioned a clear chance when he left James McCarthy on his backside but unfortunately for City the midfielder’s trailing leg cleared the ball.

Facebook Twitter Pinterest Sergio Agüero celebrates scoring his second, which seemed at the time to have earned Manchester City a come-from-behind win. Photograph: Tom Flathers/Manchester City FC via Getty Images

Palace then performed a classic smash-and-grab act. After winning a corner on the right McCarthy swung the ball in, Gary Cahill beat Stones and his header was turned home by Tosun.

City’s shock did not last long, with Bernardo Silva forcing Guaita to tip a shot over but when the second half began they still trailed and while Palace had hardly attacked the home side were staring at conceding further ground to Liverpool.

Guardiola’s instructions looked to be that his men should use the flanks more – Stones drawing his ire when turning infield instead. However, the centre-back’s pass reached Gündogan who found Mendy and suddenly City were advancing; the Frenchman’s dipping ball deserved to find someone on the end of it.

Sterling managed to reach the ball in the Palace box moments later when found by David Silva but his effort went wide.

Mendy’s next delivery caused havoc as first Agüero and then Bernardo Silva had attempts blocked desperately, deepening the sense that Palace would soon be breached.

Pep Guardiola baffled at Manchester City letting Zaha make crucial run Read more

City were still relentless but with added edge. A De Bruyne corner was the latest to pepper the danger area but the home team’s vulnerability at the back – it has plagued them all season – was illuminated again when a Zaha chip was controlled and volleyed by Tosun, Ederson having to save sharply.

On 62 minutes, Guardiola replaced David Silva with Gabriel Jesus, the Brazilian partnering Agüero. The move nearly worked straight away as Jesus scrambled to shoot before the angle defeated him.

City became more desperate, conscious of the need to engineer a win that would salvage any faint hope of catching Liverpool. They thought they had a penalty when Bernardo Silva’s cross was inadvertently kicked on to his hand by Jaïro Riedewald. The referee, pointed to the spot but VAR ruled this out: it was an apt summation of the agonising character of City’s display.

The Fiver: sign up and get our daily football email.

Finally, Agüero came up with a classic poacher’s strike with eight minutes left, then a sweet glancing header from the Argentinian seemed to have clinched the points for City. It was not to be their afternoon, though.

Neither, surely, is it their title.