Match ends, West Ham United 2, Manchester City 2.
Manchester City lost ground on Premier League leaders Leicester City as Sergio Aguero scored twice to rescue a draw at West Ham.
Enner Valencia struck from inside the area after 53 seconds for the Hammers but Aguero equalised with a penalty after he had been fouled.
The hosts retook the lead when Valencia capitalised on hesitant defending by Nicolas Otamendi to stab in.
However, Aguero struck from 10 yards late on to earn his side a point.
The result means Manchester City are second, three points behind Leicester, while West Ham are sixth.
A good point, but City's away form a worry
Of the sides in the top three, Manchester City boast the worst away record.
They have won just four games on the road all season, while their last five away trips have seen them pick up just six points from a possible 18, a far from ideal record for a side challenging for the title.
Against West Ham, it was their inability to complete the basics of defending that was of particular concern.
They switched off in the first minute to allow West Ham to score, but their defending for the hosts' second was particularly poor.
Michail Antonio's quick throw initially caught out Otamendi, but he still had the time to be able to clear before Valencia nipped in to poke home.
Luckily for City they had Aguero to rescue them, but with away trips to struggling Sunderland and Newcastle coming up, Pellegrini's side can ill afford such lapses in those games.
Hammers to challenge for Europe?
After a strong start to last season West Ham dropped away at the turn of the year, winning just three more Premier League games.
The Hammers were similarly impressive in the first half of the current campaign but, crucially, they look capable of continuing that through the second half of the season this time.
They had won three of their four games in 2016 prior to the visit of Manchester City, and boast an impressive record against top seven sides, having lost just twice to the sides around them.
In Dimitri Payet they have one of the most exciting player in the Premier League and he tormented City throughout, with only a world-class save from Hart denying him a goal.
With West Ham six points behind fourth-place Tottenham, a top-four finish might be a tough ask, but their recent form suggests they will be prompting a few nervous glances over the shoulders of their rivals.
Toure struggles to make an impression
There has been plenty of uncertainty about Yaya Toure's future in the newspapers this week, but City boss Manuel Pellegrini has urged the midfielder to concentrate on helping his side challenge for the title.
Pellegrini clearly felt Toure is fully focused on the task at hand as he recalled him for the trip to West Ham, but he was sluggish at the start.
He was left woefully wanting when Cheikhou Kouyate ghosted past inside a minute to set up Valencia for the opener.
In the end, Toure had more touches of the ball than any other City player, but struggled to make a telling impression in the opposition half, with only defenders Fernando and Otamendi having a poorer passing accuracy than the midfielder.
Man of the match - Sergio Aguero
What they said
West Ham manager Slaven Bilic: "It was a great game of football. I'm so proud of our team and Man City. There was everything in it. Four goals, chances, yellow cards and a penalty.
"We were a little bit disappointed, but I said to the players they shouldn't be. But if you are disappointed after playing Man City then that's good.
"We defended well and created many chances."
Man City manager Manuel Pellegrini: "It [a draw] was not what we wanted before the game. If you analyse the whole game we had two or three clear chances. It was a difficult game - I was not happy the way we conceded the second goal.
"It was a close game for both teams and a good game for both sets of fans. It was end to end because both teams play in an attacking way.
"Sergio Aguero played very well and scored. I think he is 100% again."
The stats you need to know
- Valencia's opening goal was the second quickest goal (53 seconds) in the Premier League this season - Matt Ritchie's goal for Bournemouth against Spurs was timed at 49 seconds.
- Sergio Aguero has been involved in eight goals (six goals, two assists) in his eight league appearances against West Ham.
- All of Man City's four penalties in the Premier League this season have been taken by different players (Yaya Toure, Wilfried Bony, Aleksandar Kolarov and Aguero).
- The Hammers have scored three goals via thrown-ins in the Premier League this season - Arsenal are the only other team to score via this method (1).
- Aguero's scored his 89th and 90th goals in his 136th Premier League appearance - the same number it took Ruud van Nistelrooy to hit the 90-goal milestone. Only Alan Shearer (90 in 113 games) has done it quicker.
West Ham are in FA Cup fourth-round action at Liverpool on 30 January while Manchester City's next game is against Everton in the League Cup semi-finals on 27 January.
- 12JenkinsonSubstituted forByramat 13'minutesBooked at 70mins
- 16NobleBooked at 39mins
- 30AntonioSubstituted forMosesat 65'minutes
- 11E ValenciaSubstituted forJelavicat 87'minutes
- 26DemichelisBooked at 32mins
- 42Y TouréBooked at 89mins
- 18DelphSubstituted forIheanachoat 76'minutes
- 15NavasSubstituted forSterlingat 67'minutes
- 21SilvaSubstituted forRegesat 83'minutesBooked at 90mins
- 17De Bruyne
- Craig Pawson
- Shots on Target
Second Half ends, West Ham United 2, Manchester City 2.
Cheikhou Kouyaté (West Ham United) hits the bar with a header from the centre of the box. Assisted by Dimitri Payet following a set piece situation.
Fernando (Manchester City) is shown the yellow card for a bad foul.
Foul by Fernando (Manchester City).
Victor Moses (West Ham United) wins a free kick on the left wing.
Attempt saved. Sergio Agüero (Manchester City) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Yaya Touré.
Foul by Kevin De Bruyne (Manchester City).
Dimitri Payet (West Ham United) wins a free kick in the defensive half.
Yaya Touré (Manchester City) is shown the yellow card for a bad foul.
Foul by Yaya Touré (Manchester City).
Cheikhou Kouyaté (West Ham United) wins a free kick in the defensive half.
Fernando (Manchester City) wins a free kick in the defensive half.
Foul by Cheikhou Kouyaté (West Ham United).
Attempt missed. Nikica Jelavic (West Ham United) with an attempt from the centre of the box misses to the left. Assisted by Dimitri Payet with a cross following a corner.
Corner, West Ham United. Conceded by Fernando.
Attempt blocked. Nikica Jelavic (West Ham United) right footed shot from the centre of the box is blocked. Assisted by Winston Reid with a headed pass.
Corner, West Ham United. Conceded by Martín Demichelis.
Substitution, West Ham United. Nikica Jelavic replaces Enner Valencia.
Foul by Yaya Touré (Manchester City).