West Ham withstood a barrage of second-half pressure to condemn Manchester City to their first defeat of the Barclays Premier League season.
Goals from Victor Moses and Diafra Sakho got the Hammers off to a flying start at the Etihad Stadium and they held on for a 2-1 win after Kevin de Bruyne pulled one back.
City dominated after the break and created a series of chances but Hammers goalkeeper Adrian was in outstanding form and refused to be beaten.
It was another notable away victory for Slaven Bilic's West Ham after securing wins at Arsenal and Liverpool already this season.
City won their first five Premier League games of the season - and a club record 11 in succession - but, coming after a Champions League loss in midweek, they made a sluggish start.
Their day started badly as playmaker David Silva was injured in the warm-up and had to be replaced by Jesus Navas.
City had an early chance when Adrian punched away a Fernandinho header from a De Bruyne corner but any hopes the hosts had of taking charge were quickly dashed as the defence was caught out.
Manuel Pellegrini had been forced to change his back four for the first time this season because of injury to captain Vincent Kompany and the reshaped rearguard afforded Moses too much space.
The on-loan Chelsea forward raced towards the area and unleashed a fierce low shot from distance to claim his first goal for the club.
City were laboured in response with their only bright sparks coming from De Bruyne, and his pass almost led to an equaliser as an Aaron Cresswell interception fell to Sergio Aguero.
Aguero seized possession and jinked around Adrian but the Argentinian screwed his shot wide.
The Hammers doubled their lead after more poor defending at a corner just after the half hour. City missed opportunities to clear as Winston Reid nodded down and Pedro Obiang tapped the ball back across goal. Sakho reacted the quickest to stab home from close range.
Sakho might have had another after racing onto a Dimitri Payet ball but Eliaquim Mangala made a vital tackle.
City showed some signs of life with Navas teeing up Aguero but Adrian saved from close range.
They replied just before the interval as Aguero laid off for De Bruyne and the £54million man drove the ball low into the bottom corner from the edge of the box.
City won a series of corners as they upped the pressure after the break and Yaya Toure had three chances to claim an equaliser in quick succession. The Ivorian was first crowded out after combining well with Raheem Sterling, then forced Adrian to save and then shot across goal.
Adrian also denied Aguero and Navas and then did well to cut out a Sterling pass across the box after more good work by De Bruyne. Toure had another effort deflected wide and Aleksandar Kolarov had a penalty appeal turned down after tangling with Sakho.
City threw forwards Wilfried Bony and Kelechi Iehanacho on during the second half and continued to press, with Otamendi testing Adrian with a header from a corner.
But it proved to no avail as the Hammers held on to blow apart City's 100 per cent record.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies