Published: 2022-05-15 22:23:20 BdST
Riyad Mahrez failed to a convert a late penalty that would have won the game for Pep Guardiola's side, who were 2-0 down at halftime at the London Stadium.
The result left City on 90 points with one game to play and second-placed Liverpool, chasing an unprecedented quadruple of trophies, four points behind but with two matches left.
Liverpool travel to Southampton on Tuesday and victory in that game would leave them one point behind heading into Sunday's final round of games. A defeat would hand the title to City.
Both sides are at home for their last games - City face Aston Villa, managed by former Liverpool favourite Steven Gerrard, while Juergen Klopp's team host Wolverhampton Wanderers.
Jarrod Bowen struck twice for West Ham in the first half to stun City but Guardiola's men fought back strongly.
Jack Grealish fired City back into contention four minutes after the break and the Hammers' Czech defender Vladimir Coufal headed a Mahrez free kick into his own goal.
City had a great chance to take all three points when a VAR review led referee Anthony Taylor to award a penalty for Craig Dawson's challenge on Gabriel Jesus.
Mahrez struck the spot-kick firmly but at a good height for Lukasz Fabianski who produced an excellent save to deny the Algerian, frustrate City and keep Liverpool's hopes alive.
Tottenham Hotspur boosted their hopes of Champions League football next season with a nervy 1-0 win at home to relegation-threatened Burnley.
Spurs climbed above North London rivals Arsenal into fourth on 68 points from 37 games -- the Gunners are on 66 from 36 matches and can return to the top four if they win at Newcastle United on Monday.
The game was decided by a controversial penalty just before the break when referee Kevin Friend reviewed a handball incident and ruled that the arm of Ashley Barnes had been in an "unnatural position" when the ball struck it.
Kane drilled the spot-kick into the bottom corner but Burnley's protests continued after the halftime whistle with angry exchanges in the tunnel.
Nick Pope made two outstanding saves after the break to keep out Son Heung-min while Barnes struck the post for Burnley with a thundering drive from distance.
Burnley's defeat left them back in the bottom three but the battle to avoid relegation also looks likely to be decided on the final day of the season.
Leeds United dropped two points with a 1-1 draw at home to Brighton & Hove Albion although they were delighted to have salvaged a point with a stoppage-time header from substitute Pascal Struijk.
Former Manchester United and Arsenal striker Danny Welbeck had put Brighton ahead in the 21st minute and Leeds laboured before Struijk snuck in at the back post to set off wild celebrations.
Everton slipped back into trouble after a 3-2 home defeat to Brentford, ending the game with nine men after receiving two red cards.
Dominic Calvert-Lewin's first goal since August put Frank Lampard's Everton ahead but their day turned sour when teenage centre back Jarrad Branthwaite was sent-off for a foul on the last man.
Brentford took control after that as Yoane Wissa forced Everton captain Seamus Coleman to put the ball into his own net, though Richarlison restored the home advantage from the penalty spot to give his team a 2-1 lead at halftime.
But two headed goals in three minutes just past the hour-mark from Wissa and Rico Henry, and a late red card for Salomon Rondon, handed Brentford a win that leaves Everton still in need of points for safety.
Everton are in 16th place on 36 points with two games left to play. Leeds are a point behind with one game left and Burnley are in 18th, inside the drop zone, on 34 points with two matches left.
Burnley travel to Aston Villa before their final game at home to Newcastle. Leeds's last match is away to Brentford. Everton host Crystal Palace before travelling to Arsenal next Sunday.