Vertene tok sin tredje strake seier med 2-1.
Diafra Sakho ble matchvinner med sitt 2-0-mål i det 75. minuttet. David Silva reduserte like etter, men det hjalp lite for titteholderen som er fem poeng bak Chelsea med en kamp mer spilt.
For øvrig scoret Sakho i sin sjette kamp på rad. Med det er han tidenes første spiller med mål i sine første seks kamper fra start i Premier League.
Det hersket i kort tid tvil om hvorvidt scoringen skulle godkjennes. TV-bildene viste at senegaleseren headet ballen så vidt over mållinjen før Joe Hart fikk slått den ut igjen.
Gigantsjanser
Selv om City fort kunne ha scoret flere mål i annen omgang, var det ingen ufortjent seier Sam Allardyces formsterke mannskap sikret lørdag.
West Hams angrepsfotball i første omgang var av det pene slaget. Laget ledet også til pause etter at Morgan Amalfitano noe heldig hadde fått trille inn 1-0 etter 20 minutter.
En gigantsjanse til å kvittere fikk City-spissen Sergio Aguero i det 65. minuttet. Han skulle bare sette ballen i mål fra fem meter, men sendte den i tverrliggeren.
Og like før West Hams annet mål avsluttet Yaya Toure i stolpen.
Stoppet City-rekken
Allardyces elever holdt unna tross et tøft City-press det siste kvarteret. West Ham er nå bare poenget bak gjestene etter ni spilte kamper, etter at de tre siste kampene er vunnet.
City hadde vunnet tre strake seriekamper før lørdagens oppgjør. Lørdag fikk laget en ny nedtur, slik de gjorde i mesterligaen i midtuka.
Da ble en 2-0-ledelse borte mot CSKA Moskva til 2-2 like før full tid.