Second-half goals from Jeremy Doku, Bernardo Silva and Erling Haaland helped Manchester City come from behind to beat in-form West Ham and continue their winning start to the Premier League season.

James Ward-Prowse's diving header gave the Hammers the lead against the run of play, but Doku's first City goal restored parity 43 seconds after the interval.

Silva then collected Julian Alvarez's looping ball over the top of the West Ham defence before calmly prodding past the onrushing Alphonse Areola.

Haaland, who had squandered several earlier opportunities, completed the scoring at London Stadium with a trademark finish.

"All game we were fantastic, even when we were losing at half-time against an incredible side," City manager Pep Guardiola told BBC Sport. "We were efficient and patient in the second half.

"It was a big win after the international break. The team showed good spirit to survive."

City maintain their two-point lead over Tottenham and Liverpool at the top of the table, while West Ham drop to sixth thanks to their first defeat of the campaign.

City patience pays off

There was little wrong with City's first-half display, but, despite registering 17 shots before the break, they could not find a way past Areola and West Ham's deep-lying rearguard.

They went close to taking a deserved lead after only six minutes, but Areola produced fine saves to deny Rodri and Ruben Dias either side of Tomas Soucek's goal-line block from Haaland.

The Norwegian - of all people - squandered two glorious opportunities before half-time, somehow steering Doku's low cross wide of the far post before having another shot cleared off the line by the retreating Nayef Aguerd.

Guardiola, back in the City dugout following surgery, will have asked for more of the same from his players at half-time and they were level moments after the restart as the lively Doku cut in from the left before producing an expert finish.

Reflecting on the 21-year-old Belgian's performance, Guardiola said: "I would say that the first game (against Fulham) he was shy, but today he was not. He was a proper winger, having the ball and having the ability to go one v one.

"Not just that - he has the quality to read when to make the pass for the next player. I was very happy. It was a very good performance from Jeremy."

Alvarez rattled a post with a magnificent free-kick not longer after Doku's leveller, but City were not to be denied as the Argentine scooped a clever ball over the West Ham backline for Silva to poke home.

Haaland delivered the icing on the cake late on, extending his league tally to seven goals in five games this season with a smart finish from Silva's pass.

Valiant Hammers fall short

West Ham overcame Brighton last month despite having only 22% possession, and for a long time it looked as though they might secure another famous win against the Premier League champions despite having their backs to the wall for the vast majority of the first half.

The hosts could have taken the lead before the opener, Aguerd nearly getting on the end of Soucek's near-post flick-on following a clever corner routine involving Ward-Prowse and Jarrod Bowen.

West Ham's move for the opening goal was perfectly executed, Vladimir Coufal lofting a delightful cross in for Ward-Prowse to head home from close range.

But their hard work was undone seconds after the interval, much to the frustration of David Moyes, his coaching staff and the home supporters.

"It was bad timing for their first goal right after half-time, but I was more disappointed with their second goal - it was really poor," Moyes told BBC Sport.

"We've had small margins in the other games that we've won. Today their keeper made a couple of saves and those margins could have gone our way [but] didn't.

"We were probably as good on the ball today as we have been for a long time but didn't get the opportunities we would have liked. We were still a threat, but not enough."

Ederson pulled off a sensational one-handed save to deny Kurt Zouma with the score at 1-1, but Silva's goal seemed to deflate West Ham before Haaland's late effort ended their hopes of getting anything from the contest.

Player of the match

Ward-ProwseJames Ward-Prowse

with an average of 7.47

West Ham United

  • Squad number7Player nameWard-Prowse

    Average rating

    7.47

  • Squad number19Player nameÁlvarez

    Average rating

    6.86

  • Squad number23Player nameAreola

    Average rating

    6.85

  • Squad number10Player nameLucas Paquetá

    Average rating

    6.81

  • Squad number20Player nameBowen

    Average rating

    6.76

  • Squad number27Player nameAguerd

    Average rating

    6.71

  • Squad number33Player nameEmerson

    Average rating

    6.61

  • Squad number9Player nameAntonio

    Average rating

    6.60

  • Squad number5Player nameCoufal

    Average rating

    6.58

  • Squad number28Player nameSoucek

    Average rating

    6.56

  • Squad number4Player nameZouma

    Average rating

    6.44

  • Squad number14Player nameKudus

    Average rating

    6.22

  • Squad number22Player nameBenrahma

    Average rating

    5.59

  • Squad number24Player nameKehrer

    Average rating

    5.12

  • Squad number18Player nameIngs

    Average rating

    4.81

  • Manchester City

  • Squad number6Player nameAkéAverage rating

    7.31

  • Squad number82Player nameLewisAverage rating

    7.27

  • Squad number21Player nameGómezAverage rating

    7.20

  • Squad number52Player nameBobbAverage rating

    7.17

  • Squad number11Player nameDokuAverage rating

    6.90

  • Squad number19Player nameÁlvarezAverage rating

    6.82

  • Squad number47Player nameFodenAverage rating

    6.79

  • Squad number20Player nameBernardo SilvaAverage rating

    6.76

  • Squad number16Player nameRodriAverage rating

    6.57

  • Squad number2Player nameWalkerAverage rating

    6.56

  • Squad number27Player nameMatheus NunesAverage rating

    6.54

  • Squad number9Player nameHaalandAverage rating

    6.46

  • Squad number3Player nameRúben DiasAverage rating

    6.44

  • Squad number25Player nameAkanjiAverage rating

    6.36

  • Squad number31Player nameEdersonAverage rating

    6.34

  • Squad number24Player nameGvardiolAverage rating

    6.31

  • Line-ups

    West Ham

    Formation 4-2-3-1

    23Areola

    5Coufal4Zouma27Aguerd33Emerson

    28Soucek19Álvarez

    20Bowen7Ward-Prowse10Lucas Paquetá

    9Antonio

    • 23Areola
    • 5CoufalSubstituted forKehrerat 87'minutes
    • 4Zouma
    • 27Aguerd
    • 33Emerson
    • 28SoucekBooked at 79minsSubstituted forIngsat 87'minutes
    • 19ÁlvarezBooked at 38minsSubstituted forBenrahmaat 68'minutes
    • 20Bowen
    • 7Ward-Prowse
    • 10Lucas PaquetáBooked at 90mins
    • 9AntonioSubstituted forKudusat 67'minutes

    Substitutes

    • 1Fabianski
    • 3Cresswell
    • 8Fornals
    • 14Kudus
    • 15Mavropanos
    • 18Ings
    • 21Ogbonna
    • 22Benrahma
    • 24Kehrer

    Man City

    Formation 4-2-3-1

    31Ederson

    2Walker25Akanji3Rúben Dias24Gvardiol

    16Rodri20Bernardo Silva

    47Foden19Álvarez11Doku

    9Haaland

    • 31Ederson
    • 2Walker
    • 25Akanji
    • 3Rúben Dias
    • 24GvardiolBooked at 45minsSubstituted forAkéat 90+5'minutes
    • 16RodriBooked at 89mins
    • 20Bernardo SilvaSubstituted forBobbat 90+5'minutes
    • 47FodenSubstituted forNunesat 67'minutes
    • 19Álvarez
    • 11DokuSubstituted forGómezat 90'minutes
    • 9HaalandSubstituted forLewisat 90+4'minutes

    Substitutes

    • 4Phillips
    • 6Aké
    • 18Ortega
    • 21Gómez
    • 27Nunes
    • 33Carson
    • 52Bobb
    • 82Lewis

    Referee:Andy Madley

    Attendance:62,475

    Match Stats

    Live Text

  • Match ends, West Ham United 1, Manchester City 3.

  • Second Half ends, West Ham United 1, Manchester City 3.

  • Lucas Paquetá (West Ham United) is shown the yellow card for a bad foul.

  • Oscar Bobb (Manchester City) wins a free kick on the right wing.

  • Foul by Lucas Paquetá (West Ham United).

  • Foul by Sergio Gómez (Manchester City).

  • Mohammed Kudus (West Ham United) wins a free kick in the defensive half.

  • Substitution, Manchester City. Oscar Bobb replaces Bernardo Silva.

  • Substitution, Manchester City. Nathan Aké replaces Josko Gvardiol.

  • Substitution, Manchester City. Rico Lewis replaces Erling Haaland.

  • Attempt missed. Nayef Aguerd (West Ham United) header from the left side of the box is high and wide to the left. Assisted by James Ward-Prowse following a set piece situation.

  • Substitution, Manchester City. Sergio Gómez replaces Jérémy Doku.

  • Rodri (Manchester City) is shown the yellow card for a bad foul.

  • Foul by Rodri (Manchester City).

  • Mohammed Kudus (West Ham United) wins a free kick in the attacking half.

  • Substitution, West Ham United. Thilo Kehrer replaces Vladimír Coufal.

  • Substitution, West Ham United. Danny Ings replaces Tomás Soucek.

  • Goal! West Ham United 1, Manchester City 3. Erling Haaland (Manchester City) left footed shot from the centre of the box to the bottom right corner. Assisted by Bernardo Silva.

  • Josko Gvardiol (Manchester City) wins a free kick on the left wing.

  • Foul by Mohammed Kudus (West Ham United).

  • ncG1vNJzZmivp6x7o67CZ5qopV%2BovbC%2B02idqKekl66tuI5vbXBuYGqCeQ%3D%3D