West Ham produced a dogged display to earn themselves a valuable point against Manchester City at the London Stadium on Saturday afternoon.
The home side opened the scoring against the run of play, with Michail Antonio displaying superb strength to hold off Rúben Dias before firing an even more impressive overhead kick past the helpless Ederson.
City continued to press and they eventually found a way through the resolute Hammers backline, with Phil Foden's half-time introduction reaping instant rewards as he restored parity with a tidy finish.
Despite a late onslaught City were unable to grab a late winner as the home side held on to secure a precious point.
That's the admin out of the way, now time for the player ratings.
1. Goalkeeper & Defenders
Łukasz Fabiański (GK) - 7/10 - A surprisingly quiet afternoon against City's frontline. Produced a brilliant save from Raheem Sterling when the England man was through on goal late on.
Fabián Balbuena (CB) - 7/10 - Quality afternoon's work from the Paraguay international. Looked calm in possession and was rarely flustered by the usually lethal City frontline.
Angelo Ogbonna (CB) - 7/10 - Barely gave Aguero a sniff. Looked dominant whenever the ball was played into the box and baled out Andriy Yarmolenko when the forward's stray pass gave Sterling a great chance late on.
Aaron Cresswell (CB) - 7/10 - Very good performance on the left of a West Ham back three. Looked solid defensively but will be slightly disappointed not to have produced quality in the few opportunities he had to stride forward.
2. Wing Backs & Midfielders
Vladimír Coufal (RWB) - 6/10 - Very impressive going forward but struggled to contain the marauding João Cancelo when asked to track back towards his own goal.
Tomáš Souček (CM) - 7/10 - Great performance alongside Declan Rice. Had a hand (pun intended) in the West Ham opener and used his physicality to good effect against a lightweight City midfield.
Declan Rice (CM) - 8/10 - Fantastic afternoon's work at the heart of the Hammers midfield. Won every second ball and showed a willingness to carry the ball and break through the City lines when unable to pick out a teammate.
Arthur Masuaku (LWB) - 7/10 - Clearly been attempting to address his defensive flaws and looked much more impressive in his own half than he did last season. Always a threat on the counter.
Jarrod Bowen (RW) - 6/10 - Looked very lively early on and a willing runner all afternoon. His pace in behind caused City problems but the game began to pass him by a little as the visitors took control.
Michail Antonio (ST) - 7/10 - An early contender for Goal of the Season with an unbelievable acrobatic effort leaving Ederson in the City goal with no chance. Hobbled off in the second half but looked good prior to picking up a knock.
Pablo Fornals (LW) - 5/10 - Failed to have as much of an impact on the game as his forward partners. Did very little to worry Kyle Walker on the West Ham left.
Andriy Yarmolenko (RW) - 4/10
Sébastien Haller (ST) - 6/10
5. Goalkeeper & Defenders
Ederson (GK) - 6/10 - Didn't have much to do all afternoon. Little he could have done to stop Antonio's breathtaking opener.
Kyle Walker (RB) - 7/10 - Another solid display from the England man. Matched Antonio for pace whenever he was forced to run back towards his own goal and looked a threat going forward.
Rúben Dias (CB) - 4/10 - Far too easily overpowered by Antonio for the West Ham opener. Struggled to contain him whenever the forward was afforded the chance to run at the City backline. Another poor performance after a bit of a horror show against Porto in the week.
Eric Garcia (CB) - 5/10 - Not the composed performance we've come to expect from the youngster. Possibly trying to overcompensate for his centre-back partner's frailties but needs to concentrate on his own game.
João Cancelo (LB) - 8/10 - The best City player on the afternoon. Showed pace and endeavour down the City left and looked the most likely avenue of success. Had Vladimír Coufal tripping over himself every time he ran at the West Ham man.
Bernardo Silva (CM) - 7/10 - A typical display full of drive and endeavour. Easily the best of City's three starting midfielders.
Rodri (CM) - 5/10 - Too slow and cumbersome in midfield. Barely gave the ball away all afternoon but with West Ham taking an early lead and setting up in a rigid formation, City needed slicker passing and the midfielder failed to pick up the pace.
İlkay Gündoğan (CM) - 5/10 - Not the performance the birthday boy would have hoped for. Struggled to match Rice's bursting runs forward and was bypassed somewhat in midfield.
Riyad Mahrez (RW) - 4/10 - Barely had a kick. On the very few occasions he escaped the attention of the West Ham backline his touch let him down.
Sergio Aguero (ST) - 5/10 - Only his second Premier League appearance in four months and it showed. Wasn't helped by a lack of service but spent large parts of the first half dropping deep in an attempt to impact the game and was hooked at half time.
Raheem Sterling (LW) - 5/10 - Missed a glorious opportunity to take the lead with just four minutes remaining. Plenty of running but very little to show for it.
Phil Foden (CM) - 7/10
Kevin De Bruyne (CM) - 6/10
Oleksandr Zinchenko (LB) - 5/10