Jarrod Bowen (On for Masuaku 74’) 6 - Played with confidence but seemed to find himself quickly surrounded by sky blue shirts. Getty
MANCHESTER CITY RATINGS: Ederson 6 - Palmed away Declan Rice’s effort in the second half but had little to deal with rest of game. Nothing he could do about Lanzini’s wonder strike. AP
Joao Cancelo 7 - Threatening as always as the 27-year-old ventured forward and put the ball into dangerous areas when given the opportunity. EPA
Aymeric Laporte 7 - Unlucky not to open the scoring in the first half with header that struck the post. Looked comfortable in defence as City dropped off to deal with West Ham’s balls over the top. Getty
Ruben Dias 6 - Switched the ball from defence well to get Guardiola’s attack into transition and didn’t look too troubled by the West Ham attack. EPA
Kyle Walker 6 - Not involved in the attacking third as much but Walker was confident when looking to test the West Ham defence with long balls. Solid defensively. Getty
Rodri 7- Set the tone of his side's attacks. The Spain international saw plenty of the ball and spread the play out well from central areas. Reuters
Bernardo Silva 8 - Involved in City’s best-attacking build-ups and was always an option for players being crowded out by the opposition. EPA
Ilkay Gundogan 8 - The German looked to enjoy playing in the snow as he didn’t misplace a pass before tucking home from inside the box. Almost had a second but was met quickly by Fabianski. AP
Raheem Sterling 7- Could have had two assists on the day with balls into the box that gave the defence a split second to react but managed to clear the danger. EPA
Riyad Mahrez 7 - Came close to doubling City’s advantage as he rifled the ball against the post moments before half-time. Involved in the majority of his sides dangerous attacks. Getty
Gabriel Jesus 6 - Looked destined to score in the second half before heroic defending from Cresswell prevented the cross from reaching him. Reuters
SUBS: Fernandinho (On for Sterling 90’) N/A - Came off the bench and struck home the second to wrap up the three points for his side. Getty
WEST HAM RATINGS: Lukasz Fabianski 6 - Came off his line quickly and reacted to balls in behind his defence but has the woodwork to thank going in at half-time only at 1-0. AP
Aaron Cresswell 7- A goal-saving challenge prevented Jesus from doubling City’s lead, but it came at some cost as the defender collided heavily with the post. Reuters
Kurt Zouma 6 - A fairly solid performance from the 27-year-old who read the play well in a good partnership with Dawson. Had to deal with frequent overloads as City moved players in between the defensive gaps. Reuters
Craig Dawson 7 - Looked to be the standout player who constantly got in the way of City attacks but, ultimately, had too much to deal with. EPA
Ben Johnson 6 - Tried to get forward when the opportunity arose but had little to aim for in the box. PA
Declan Rice 8 - Battled hard throughout the game. A great run late in the second half saw the England midfielder edge his way into the City box, but was unlucky to lose balance before cutting the ball back. EPA
Tomas Soucek 5 - Gave the ball away too much from midfield areas. Getty
Arthur Masuaku 6 - A difficult day at the office as City comfortably won the battle on Masuaku’s flank. The 28-year-old didn’t have the opportunity to get forward as much as he would have liked, but defended well when called upon. PA
Said Benrahma 5 - Tried to make things happen but it didn’t come off enough on the day. An awkward fall trying to cross on the snowy surface forced him to come off just before the hour mark. Getty
Pablo Fornals 6 - One of the Hammers players who had a fair amount of the ball but couldn’t create anything with a cutting edge. Worked hard defensively and won possession back for his team. Getty
Michail Antonio 6 - Looked confident in possession but was isolated with West Ham attacks taking too much time to develop. AFP
Manuel Lanzini -(On for Benrahma, 59’) 6 - Anonymous until unleashing an exquisite strike with the last touch of the game for a consolation goal. EPA
Vladimir Coufal (On for Cresswell, 61’) 6 - Showed his versatility to play on the left side of the defence but couldn’t really get going with West Ham pinned in for the majority of the second half. EPA
Jarrod Bowen (On for Masuaku 74’) 6 - Played with confidence but seemed to find himself quickly surrounded by sky blue shirts. Getty
MANCHESTER CITY RATINGS: Ederson 6 - Palmed away Declan Rice’s effort in the second half but had little to deal with rest of game. Nothing he could do about Lanzini’s wonder strike. AP
Joao Cancelo 7 - Threatening as always as the 27-year-old ventured forward and put the ball into dangerous areas when given the opportunity. EPA
Aymeric Laporte 7 - Unlucky not to open the scoring in the first half with header that struck the post. Looked comfortable in defence as City dropped off to deal with West Ham’s balls over the top. Getty
Ruben Dias 6 - Switched the ball from defence well to get Guardiola’s attack into transition and didn’t look too troubled by the West Ham attack. EPA
Kyle Walker 6 - Not involved in the attacking third as much but Walker was confident when looking to test the West Ham defence with long balls. Solid defensively. Getty
Rodri 7- Set the tone of his side's attacks. The Spain international saw plenty of the ball and spread the play out well from central areas. Reuters
Bernardo Silva 8 - Involved in City’s best-attacking build-ups and was always an option for players being crowded out by the opposition. EPA
Ilkay Gundogan 8 - The German looked to enjoy playing in the snow as he didn’t misplace a pass before tucking home from inside the box. Almost had a second but was met quickly by Fabianski. AP
Raheem Sterling 7- Could have had two assists on the day with balls into the box that gave the defence a split second to react but managed to clear the danger. EPA
Riyad Mahrez 7 - Came close to doubling City’s advantage as he rifled the ball against the post moments before half-time. Involved in the majority of his sides dangerous attacks. Getty
Gabriel Jesus 6 - Looked destined to score in the second half before heroic defending from Cresswell prevented the cross from reaching him. Reuters
SUBS: Fernandinho (On for Sterling 90’) N/A - Came off the bench and struck home the second to wrap up the three points for his side. Getty
WEST HAM RATINGS: Lukasz Fabianski 6 - Came off his line quickly and reacted to balls in behind his defence but has the woodwork to thank going in at half-time only at 1-0. AP
Aaron Cresswell 7- A goal-saving challenge prevented Jesus from doubling City’s lead, but it came at some cost as the defender collided heavily with the post. Reuters
Kurt Zouma 6 - A fairly solid performance from the 27-year-old who read the play well in a good partnership with Dawson. Had to deal with frequent overloads as City moved players in between the defensive gaps. Reuters
Craig Dawson 7 - Looked to be the standout player who constantly got in the way of City attacks but, ultimately, had too much to deal with. EPA
Ben Johnson 6 - Tried to get forward when the opportunity arose but had little to aim for in the box. PA
Declan Rice 8 - Battled hard throughout the game. A great run late in the second half saw the England midfielder edge his way into the City box, but was unlucky to lose balance before cutting the ball back. EPA
Tomas Soucek 5 - Gave the ball away too much from midfield areas. Getty
Arthur Masuaku 6 - A difficult day at the office as City comfortably won the battle on Masuaku’s flank. The 28-year-old didn’t have the opportunity to get forward as much as he would have liked, but defended well when called upon. PA
Said Benrahma 5 - Tried to make things happen but it didn’t come off enough on the day. An awkward fall trying to cross on the snowy surface forced him to come off just before the hour mark. Getty
Pablo Fornals 6 - One of the Hammers players who had a fair amount of the ball but couldn’t create anything with a cutting edge. Worked hard defensively and won possession back for his team. Getty
Michail Antonio 6 - Looked confident in possession but was isolated with West Ham attacks taking too much time to develop. AFP
Manuel Lanzini -(On for Benrahma, 59’) 6 - Anonymous until unleashing an exquisite strike with the last touch of the game for a consolation goal. EPA
Vladimir Coufal (On for Cresswell, 61’) 6 - Showed his versatility to play on the left side of the defence but couldn’t really get going with West Ham pinned in for the majority of the second half. EPA
Jarrod Bowen (On for Masuaku 74’) 6 - Played with confidence but seemed to find himself quickly surrounded by sky blue shirts. Getty