Goals from Ilkay Gundogan and Fernandinho were enough to earn Manchester City a 2-1 victory over West Ham on Sunday afternoon.
Heavy snow made playing conditions treacherous, although Pep Guardiola's side always looked the more likely to come away with the result.
Riyad Mahrez thought he'd broken the deadlock after 17 minutes although his joy was short-lived courtesy of the linesman's raised flag. The Algerian did have reason to celebrate a quarter of an hour later, however, when his low cross was tapped in by a grateful Gundogan to put the hosts ahead.
Gabriel Jesus saw two efforts cleared off the line by both West Ham full-backs either side of an extended and snowy half-time but it was late substitute Fernandinho that managed to double his side's advantage as David Moyes' side upped their intensity.
The Brazilian made sure of the result by neatly finishing Jesus' pull back in the 90th minute before Manuel Lanzini notched a stunner to give the West Ham fans something to cheer seconds before the full-time whistle.
The result moves City back up to second while inflicting a second consecutive defeat on the Hammers.
Here's how the players rated from the Etihad.
Manchester City player ratings
1. Goalkeeper & defenders
Ederson (GK) - 6/10 - Barely called upon; unlucky to concede a wonder goal to Lanzini.
Kyle Walker (RB) - 6/10 - Wasn't tested all that much on the back foot, so was able to venture upfield without concern. Almost scored a worldie in the opening minutes.
Ruben Dias (CB) - 7/10 - Frighteningly good at defending one-on-one situations, carrying out some crucial work in stifling the threat of the West Ham counter.
Aymeric Laporte (CB) - 6/10 - A real threat from set-pieces, even hitting the upright from a first-half corner, but looked a little shaky when dealing with opposition forwards at times.
Joao Cancelo (LB) - 7/10 - Some seriously sumptuous passing on show throughout and, unsurprisingly, created the opener with a delicious raking pass out to Mahrez.
Rodri (DM) - 7/10 - Another cool, calm and composed outing at the heart of the side, using possession efficiently and progressively while mopping up for his colleagues.
Bernardo Silva (CM) - 7/10 - Typically velvety in his positional play and on the ball, effortlessly dominating spaces between West Ham lines and creating opportunities for others. He registered two key passes.
Ilkay Gundogan (CM) - 8/10 - Built play ever so well and proved elusive when cunningly drifting into the area and got his reward with a simple tap in to make it 1-0.
Gabriel Jesus (RW) - 7/10 - Floated around nicely and threatened when running at goal. Desperately unlucky not to have scored, seeing two efforts cleared off the line, but did well to assist Fernandinho late on.
Riyad Mahrez (CF) - 7/10 - Struggled to get into the game centrally but came to life when drifting wide, teeing up his side's first, striking the post and generally proving a thorn in West Ham's side.
Raheem Sterling (LW) - 6/10 - Came into the tie having scored in each of his last three for the Cityzens but failed to find an end product to extend that run.
Fernandinho (DM) - 7/10 - Really nice finish to secure the win.
West Ham player ratings
5. Goalkeeper & defenders
Lukasz Fabianski (GK) - 6/10 - Excellent when racing out to close down City's forwards but didn't have much hope with the goals.
Ben Johnson (RB) - 6/10 - Fared well defensively, notably keeping out a Jesus effort with a brilliant goal-line block.
Craig Dawson (CB) - 7/10 - Showed great positional awareness to make seven clearances out of his own box but, as happens so often, the City pressure eventually broke through.
Kurt Zouma (CB) - 6/10 - Largely dominant in his own penalty area but couldn't remain resilient to the onslaught.
Aaron Cresswell (LB) - 6/10 - Coped as best he could, although never really looked in control without the support of a colleague. Forced off after colliding with the post while making a goal-line clearance to deny Jesus - pretty much the definition of heroic.
Tomas Soucek (CM) - 6/10 - An incessant runner, covering a huge amount of ground throughout but failed to really get a hold of the game - or his opposition.
Declan Rice (CM) - 6/10 - Worked hard with Soucek to deal with City's fluidity as best as possible but was ultimately penned in by the hosts' domination.
Sais Benrahma (AM) - 5/10 - Had some bright moments but was disappointingly underwhelming when attempting to create.
Pablo Fornals (RW) - 6/10 - Pressed energetically throughout - without much joy - and actually looked the most likely to produce something for the Hammers.
Michail Antonio (ST) - 6/10 - A consistent outlet for his side, usually capable of retaining possession and causing panic among the opposition back line. Was a handful for Dias and Laporte but was, for the most part, just too isolated.
Arthur Masuaku (LW) - 6/10 - Showed some lovely touches on the ball although was evidently briefed to protect Cresswell from overloads, so his offensive output was limited.
Manuel Lanzini (AM) - 7/10 - Put himself about and added to his repertoire of corkers.
Vladimir Coufal (LB) - 6/10
Jarrod Bowen (RW) - 6/10