John Stones was on target after Ruben Dias scored his first Manchester City goal as the Premier League leaders extended their winning run to 20 matches with a 2-1 victory over West Ham. (More Football News)
Centre-backs Ruben Dias and John Stones showed their quality at both ends of the pitch as Manchester City saw off West Ham
John Stones was on target after Ruben Dias scored his first Manchester City goal as the Premier League leaders extended their winning run to 20 matches with a 2-1 victory over West Ham. (More Football News)
Dias opened the scoring with a first-half header, before Michail Antonio levelled just before the break with the first goal City have conceded at the Etihad Stadium since December.
Fourth-placed West Ham were proving to be hard to break down but Stones joined his central defensive partner Dias on the scoresheet to put City back in the lead 22 minutes from time.
The Hammers were unable to respond as City moved 13 points clear of Manchester United and Leicester City, extending their unbeaten run to 27 matches.
Ederson was called into action to block an Antonio header in an encouraging start from the well-drilled Hammers, operating with three centre-backs, but City were in front with their first attempt on the half-hour mark.
Kevin De Bruyne was the architect, delivering a majestic pinpoint left-footed cross for an unmarked Dias to nod beyond Darren Randolph, who until then had been untroubled after stepping in to replace the injured Lukasz Fabianski.
Antonio scuffed a shot against the outside of the post, although Jesse Lingard appeared to be offside, but the Hammers striker equalised two minutes before the break.
Lingard failed to get a clean contact on a cutback from the marauding Vladimir Coufal, but the on-loan Manchester United midfielder's shot was turned in by the alert Antonio.
Randolph continued despite picking up an injury while taking a goal kick, and the Hammers breathed a sigh of relief when there was no City player on hand to turn in De Bruyne's cross at the end of a surging run down the left.
Gabriel Jesus replaced a rusty Sergio Aguero, starved of service in his first start since October, with an hour played, but it was another centre-back who put Pep Guardiola's men back in front.
Riyad Mahrez teased Ben Johnson in the penalty area and picked out Stones, who drilled clinically beyond Randolph after 68 minutes.
Visiting boss David Moyes introduced Jarrod Bowen and Said Benrahma in a bid to salvage a point, which Issa Diop failed to do when he headed wide from close range right at the end as City took another stride towards regaining the title.
What does it mean? More Guardiola milestones with City unstoppable
This was certainly not City at their brilliant best, but Guardiola's men got the job done with another efficient display.
They let a goal in for the first time at home since a 1-1 draw with West Brom on December 15 before responding like champions to keep the juggernaut rolling on.
Guardiola now has 200 wins as City boss, achieved in the fewest games needed by the manager of an English top-flight side. This victory also took the Spaniard to 500 in charge of a top-flight side in all competitions (Barcelona 179, Bayern Munich 121, City 200).
Stones and Dias deliver at both ends
The strong central defensive pairing of Stones and Dias has laid the foundations for City's astonishing winning streak.
They were solid at the back as usual and also stepped up at the other end to keep their side marching towards another Premier League title.
Stones has scored four goals in all competitions this year, more than any other Premier League defender, while Dias opened his account in his 32nd appearance for City.
Aguero anonymous in long-awaited start
Striker Aguero was handed his first City start since a 1-1 draw with the Hammers in October.
The club's all-time leading goalscorer did not have a single shot on a frustrating afternoon as West Ham got men behind the ball in a disciplined display.
What's next?
City entertain Wolves on Tuesday, while the Hammers will have a breather before facing Leeds United at home a week on Monday.