Sergio Aguero went past 250 goals for Manchester City but a last-minute own goal from Fernandinho gave Crystal Palace a 2-2 draw.
Crystal Palace snatched a 2-2 draw in a dramatic finale against Manchester City at the Etihad Stadium, where Sergio Aguero brought up another goalscoring landmark.
On-loan Everton striker Cenk Tosun headed a 39th-minute opener for the visitors, who looked like holding out for three points until Aguero slid home Gabriel Jesus' 82nd-minute cross.
That was Aguero's 250th goal in City colours and his pinpoint header from Benjamin Mendy's cross five minutes later seemingly settled the issue.
But there was a sting in the tail as Wilfried Zaha tore at a backpedalling John Stones and forced Fernandinho to put through his own goal in the final minute.
Kevin De Bruyne was to the fore as City pushed Palace back during the opening stages and he struck a sumptuous free-kick against the underside of the crossbar in the 14th minute.
Zaha was arguably unfortunate to have a penalty appeal rejected when he went down under Stones' 17th-minute challenge, but Palace were celebrating when Gary Cahill nodded James McCarthy's corner back across goal for an unmarked Tosun to head home.
Vicente Guaita denied Bernardo Silva either side of the interval, although a cute Palace break saw his opposite number Ederson forced to deny Tosun a second.
Aguero was ready to strike from the penalty spot inside the final 20 minutes, but referee Graham Scott overturned his handball verdict against Jairo Riedewald after a VAR review.
City's all-time record score duly took matters into his own hands by getting on the end of an excellent delivery from substitute Jesus, and his header from Mendy's centre sent the home supporters into raptures.
However, Zaha prayed on the defensive frailties the hosts have exhibited for much of the season, with Fernandinho erring under pressure from Palace substitute Connor Wickham.
What does it mean? Hodgson's men have Euro-vision
Sunday's Anfield showdown between Liverpool and Manchester United carries far more significance for Palace than it does City. Jurgen Klopp's league leaders are 13 points clear of last season's champions having played two games fewer. Roy Hodgson's Palace side are ninth on 30 points, four shy of United in fifth. Could they earn a European place?
McCarthy's pivotal at both ends
To get results against the division's heavyweights, the likes of Palace need players to stand up in the big moments. McCarthy, who manfully stifled City's lavishly stocked creative department throughout, did just that. He made an impeccable last-ditch challenge on Aguero before his part in the opener and a shrewd pass to Zaha set up the winger's closing salvo.
Stones does himself no favours as Laporte waits in the wings
Television cameras caught Aymeric Laporte tucking into a hearty hospitality spread and the centre-back's return from injury cannot come soon enough for Pep Guardiola, who endured a frustrating 49th birthday in the dugout. Stones has been anything but an able deputy. The England defender's decision-making was frequently scrambled here, with his normally reliable passing from the back also not up to the mark. He did not appear remotely likely to deal with Zaha as the winger created Palace's late leveller.
Key Opta stats
- Guardiola became the fifth manager to take charge of Manchester City in the Premier League on his birthday, with all five failing to win (also Brian Horton in 1995, Joe Royle in 2001, Mark Hughes in 2009 and Roberto Mancini in 2010 and 2011).
- Tosun became only the fourth Turkish player to reach 10+ Premier League goals, after Muzzy Izzet (34), Tuncay Sanli (20) and Tugay (10).
- David Silva made his 300th Premier League appearance for City - becoming the first player to reach that total for the club in the competition.
- City have conceded the first goal in six of their last nine home league games, as many as they had in their first 60 under Guardiola.
- Palace have drawn four consecutive Premier League games for only the second time, and the first since they drew each of their first four matches in the competition in 1992.
City travel to Sheffield United on Tuesday, when Palace host in-form Southampton.