City travelled to the London Stadium knowing they needed a maximum of four points from their final two games of the season to guarantee a fourth title in five years.
However, the Hammers took full advantage of City’s injury crisis at the back as the pace and poise of Jarrod Bowen put Liverpool right back in the title race.
Pep Guardiola was without Ruben Dias, John Stones and Kyle Walker and a makeshift defence was easily cut open on the counter-attack.
Bowen burst onto Pablo Fornals’ ball over the top to round Ederson and put City behind in a league game for the first time since February.
City did not learn their lesson as Bowen broke the offside trap once more in the final seconds of the first half to fire low past Ederson.
The champions were rattled but responded to keep the destiny of the title in their own hands.
Jack Grealish has failed to live up to his £100 million (US$123 million) price tag, but came up with his biggest City goal four minutes into the second period to get the comeback started.
West Ham still had huge chances to restore their two-goal lead as Bowen hit the side-netting from a narrow angle and Michail Antonio’s lob drifted wide with just Ederson to beat.
City had fortune on their side to get level when Vladimir Coufal turned Riyad Mahrez’s free-kick into his own net.
But Guardiola’s men missed the chance to complete the comeback and move to the brink of the title when Mahrez’s penalty was saved by Lukasz Fabianski four minutes from time.
City move four points clear of Liverpool at the top of the table, but the quadruple-chasing Reds have a game in hand away to Southampton on Tuesday.
At the Tottenham Hotspur stadium, Harry Kane’s penalty moved Spurs into fourth with a nervy 1-0 win over Burnley.
Antonio Conte’s men move two points ahead of north London rivals Arsenal, who travel to Newcastle on Monday, in the battle for a place in next season’s Champions League.
Tottenham still need a slip up from the Gunners to return to the Champions League next season, but upped the pressure on Mikel Arteta’s men.
Defeat sees Burnley drop into the relegation zone after Leeds snatched a late 1-1 draw at home to Brighton.
A brave Burnley performance was undone by a stroke of misfortune deep into first half stoppage time.
Davinson Sanchez’s flick brushed off the outstretched arm of Ashley Barnes.
There was barely an appeal inside the Tottenham Hotspur stadium in real time, but the incident was picked up by VAR and given after a review.
Kane was deadly as usual from the spot as the England captain converted his 23rd consecutive successful penalty.
Son Heung-min’s bid to beat Mohamed Salah to the Premier League Golden Boot was frustrated after the break by two brilliant saves from Nick Pope.
His heroics could have salvaged his side a point when Barnes struck the post from long range.
Burnley now need something from their final two games to survive as Pascal Struijk’s late leveller at Elland Road gave Leeds hope.
Danny Welbeck put in-form Brighton in front, but he then missed a glorious chance to double Brighton’s lead and Struijk’s stoppage time header earned a point.
“Nothing comes easy for us. We seem to dig holes and then have to find a way to dig out,” said Leeds boss Jesse Marsch.
Everton are also still in a three-way battle to beat the drop after having two men sent off in a 3-2 home defeat to Brentford.
Dominic Calvert-Lewin put the Toffees in front before Jarrad Branthwaite was dismissed for pulling down Ivan Toney on 18 minutes.
Seamus Coleman’s own goal levelled for the Bees, but Everton led again at half-time thanks to Richarlison’s penalty.
Two goals in two minutes from Yoane Wissa and Rico Henry turned the game around and Everton’s misery was compounded by a late red card for Salomon Rondon.
Jamie Vardy and Harvey Barnes each scored twice as Leicester thrashed already-relegated Watford 5-1, while Aston Villa and Crystal Palace played out a 1-1 draw. (AFP)
Last updated: 2022-05-16 HKT 01:55