Ruben Dias and John Stones were the goalscorers as City recorded a 20th consecutive victory in all competitions to move 13 points clear at the top of the Premier League.
SUBSCRIBE TO THE MAN CITY PODCAST
Pep Guardiola’s side were forced to work hard for the three points against the stubborn Hammers, with Stones netting a 68th minute winner after Michail Antonio had cancelled out Dias’ opener.
The Portuguese defender headed home Kevin De Bruyne’s pinpoint delivery on the half hour mark, which moved the Belgian midfielder into the top 10 on the all-time Premier League assist chart.
West Ham rallied and Antonio had already hit the woodwork when he made sure Jesse Lingard’s goal bound effort crossed the line with a one-yard tap to level things up before the break.
Man of the Match Stones sealed the three points with a composed finish, sweeping home from 12-yards after being picked out by Riyad Mahrez’s low cross.
Match report: City 2-1 West Ham
You can watch exclusive CityTV productions, including the recently released York away documentary, with a CITY+ subscription.