Match ends, West Ham United 0, Manchester City 4.
Manchester City were "quite lucky" and nowhere near their best in their 4-0 win over West Ham, says boss Pep Guardiola.
City scored four of their nine shots to record an eighth consecutive victory in all competitions and remain two points above Liverpool in the Premier League.
The game was over by half-time, with David Silva, Raheem Sterling and Leroy Sane all getting in on the act.
Silva poked home Sterling's deflected cross for the opener and Sane then rolled in a low cross for Sterling to tap into an empty net.
Sane added a fine third from Sterling's volleyed cross, with the German's touch leaving defender Fabian Balbuena on the ground, allowing him to slot home.
West Ham were much better in the second half and Michail Antonio hit the post - but Sane scored his second and City's fourth in injury time.
Manuel Pellegrini's Hammers side, who saw Marko Arnautovic hobble off late on, have now won only once in seven games.
"The players train in a different way, so it is difficult to come back.
"West Ham had chances and they didn't score. We were quite lucky but we will come back to our best.
"We are a humble team and today we weren't at our best - too many touches, our passing was not good enough but our running was fantastic."
City cruise at London Stadium again
The Premier League champions have now played four games at West Ham's new stadium, scoring four or five in each one.
They were stylish and clinical in the first half and efficient after the break.
Some of City's football in the opening 35 minutes was what we have come to expect from Guardiola's side. Sterling and Sane in particular were brilliant as they dominated possession with plenty of crisp passing.
Silva scored their opener from close range, although Sterling will not be credited with the assist as his cross took a slight deflection.
The two wide men combined for the second goal as Sane shimmied past Pablo Zabaleta and gifted Sterling a simple goal.
Sterling then set up Sane, who showed wonderful composure to turn round a defender and guide a shot into the net.
City are the only team not to drop a point from a winning position in the Premier League this season, so a comeback was never really on the cards and they looked comfortable, though not spectacular, in the second half.
In truth, Sane's injury-time fourth - from substitute Gabriel Jesus' cross - was harsh on West Ham.
Arnautovic injury a worry for Hammers
West Ham were thrashed once again by City, and have won only once since 29 September, but they perhaps deserved better than a 4-0 defeat in the end.
They were outclassed in the first half - although they made it easy for City - but they improved after bringing on the lively Aaron Cresswell at the break.
Antonio was unlucky to hit the outside of the post as he ran onto Javier Hernandez's raking through ball.
Arnautovic and Balbuena headed efforts over the bar as their chances for a consolation came and went.
Pellegrini said: "We had as many chances as City. We play the way we must play every game.
"It's difficult to say when you lose 4-0 but I am happy the way we played. I am happy with a lot of things, just not the result but I think that the goals are not acceptable."
Arnautovic was hurt by a fair Nicolas Otamendi tackle and tried to play on after treatment - but did limp off late on with all of West Ham's substitutions already used.
The Austria international is the club's top scorer this season with five goals.
Man of the match - Leroy Sane (Man City)
City match Pompey's 1950s landmark - match stats
- Manchester City became the second side from outside London to win six consecutive top-flight games in the capital after Portsmouth did so between 1950 and 1951.
- West Ham have lost all four of their meetings with City at London Stadium, scoring just once and conceding 17.
- City are only the second team to score four or more goals in three consecutive Premier League away games against the same opponent, after Chelsea at Bolton (2009-2011).
- City are unbeaten in their past 19 league games (W16 D3), conceding just eight goals.
- Raheem Sterling has had a hand in more Premier League goals at London Stadium than any other visiting player (six - one goal, five assists).
- Manchester City's David Silva has been involved in more goals against West Ham than he has against any other opponent for the club (10 - six goals, four assists).
- Silva has scored in four consecutive competitive appearances for City for the first time.
City visit Lyon on Tuesday (20:00 GMT kick-off) in a top-of-the-table Champions League group match and then host Bournemouth in the Premier League next Saturday (15:00).
West Ham visit Newcastle in the league next Saturday (15:00).
- 26MasuakuSubstituted forCresswellat 45'minutes
- 45DianganaSubstituted forHernándezat 55'minutes
- 8Felipe AndersonSubstituted forPérezat 68'minutes
- 7ArnautovicSubstituted forat 90'minutes
- 8GündoganSubstituted forFodenat 69'minutes
- 7SterlingSubstituted forMahrezat 74'minutes
- 10AgüeroSubstituted forGabriel Jesusat 81'minutes
- 33Gabriel Jesus
- Andre Marriner
- Shots on Target
Second Half ends, West Ham United 0, Manchester City 4.
Goal! West Ham United 0, Manchester City 4. Leroy Sané (Manchester City) left footed shot from a difficult angle on the left to the bottom right corner. Assisted by Gabriel Jesus.
Marko Arnautovic went off injured after West Ham United had used all subs.
Delay over. They are ready to continue.
Delay in match Marko Arnautovic (West Ham United) because of an injury.
Attempt blocked. Lucas Pérez (West Ham United) left footed shot from outside the box is blocked. Assisted by Marko Arnautovic.
Substitution, Manchester City. Gabriel Jesus replaces Sergio Agüero.
Attempt missed. Fabián Balbuena (West Ham United) header from the centre of the box misses to the left. Assisted by Aaron Cresswell with a cross following a corner.
Corner, West Ham United. Conceded by Aymeric Laporte.
Substitution, Manchester City. Riyad Mahrez replaces Raheem Sterling.
Attempt missed. Marko Arnautovic (West Ham United) header from the centre of the box is too high. Assisted by Michail Antonio with a cross.
Sergio Agüero (Manchester City) wins a free kick on the right wing.
Foul by Issa Diop (West Ham United).
Corner, West Ham United. Conceded by Kyle Walker.
Substitution, Manchester City. Phil Foden replaces Ilkay Gündogan.
Substitution, West Ham United. Lucas Pérez replaces Felipe Anderson.
Attempt saved. Ilkay Gündogan (Manchester City) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Leroy Sané.
Corner, West Ham United. Conceded by Ilkay Gündogan.
Attempt missed. Aaron Cresswell (West Ham United) left footed shot from outside the box misses to the right. Assisted by Michail Antonio following a corner.