Chelsea suffered their first defeat of the season as a Nicolas Anelka penalty inspired Manchester City to an impressive victory.
Anelka stroked home a penalty after being brought down by Paulo Ferreira, who was fortunate not to be sent off.
City keeper David James got a vital touch to divert a Frank Lampard shot onto the post before again denying the same player with another fine save.
Eidur Gudjohnsen slashed a shot wildy wide but City resolutely held on.
The rain at Eastlands played a major part in the early stages as it created a greasy pitch for the players and helped City take a surprise lead.
Midfielder Paul Bosvelt pounced on a loose ball after William Gallas slipped in possession after 10 minutes.
And Bosvelt launched a long ball to Anelka and he managed to steal in front of last defender Ferreira, who clumsily brought the striker down in the area.
Referee Howard Webb had little hesitation in awarding a spot-kick and seemed to take the slippery surface into account when he allowed Ferreira to escape with a yellow card.
However, Ferreira could argue that the offence started just outside the area.
Anelka confidently stroked in the penalty as Chelsea conceded their first Premiership goal away from home this season and only their second of the campaign.
Bosvelt (left) and Tiago tussle for possession at Eastlands
City manager Kevin Keegan had predicted that his side would rise to the occasion of playing Chelsea before the game and he was emphatically proved right.
The home side were tough in the tackle as they protected their lead while still maintaining a threat on the visitors' goal.
City right-back Danny Mills epitomised the effort of Keegan's players when he raced to slide in and block a Tiago shot.
Chelsea have won four of their eight matches 1-0 this term and had been criticised for their negative approach.
And, although they had no option but to attack, they were struggling to make use of dominating possession with Gudjohnsen, Frank Lampard and Gallas mustering disappointing efforts on goal.
Antoine Sibierski was ghosting into space at the other end but twice volleyed high.
Steve McManaman came on for City because of an injury to Sun Jihai before Chelsea almost levelled on the stroke of half time.
City keeper James did well to block a deflected Ricardo Carvalho free-kick and breathed a sigh of relief when it struck Blues striker Mateja Kezman and went wide.
And James pulled off two more fine saves when he deflected a Lampard shot against the post while palming another wide shortly after the interval.
Chelsea found it difficult to break through the home side's stubborn defence and almost went behind when Jonathan Macken's shot went into the side-netting.
Chelsea's best chance came late on but an unmarked Gudjohnsen slashed horribly wide with an angled shot.
A hard-working City expectedly tired in the closing stages but raised themsleves to earn the three points.
Man City: James, Mills, Distin, Dunne, Thatcher,
Shaun Wright-Phillips, Bosvelt, Sibierski, Jihai (McManaman 43), Macken, Anelka. Subs Not Used: Fowler, Waterreus, Flood, Onuoha.
Goals: Anelka 11 pen.
Chelsea: Cech, Paulo Ferreira, Terry, Carvalho (Geremi 78), Gallas (Bridge 45), Tiago (Cole 64), Lampard, Makelele, Duff, Kezman, Gudjohnsen. Subs Not Used: Parker, Cudicini.
Booked: Paulo Ferreira, Lampard.
Ref: H Webb (S Yorkshire).