Goals from Glenn Murray and Jason Puncheon either side of half-time ensured that Crystal Palace beat the reigning Premier League champions on a memorable night at Selhurst Park.
The striker netted his fifth goal in as many games on 39 minutes to stun the visitors, and a brilliant free-kick from Puncheon put them further ahead two minutes after the restart, but they had to endure a nervy ending when Yaya Toure netted with 12 minutes to go but Palace held on to win their first ever Premier League game against the Citizens.
The victory lifts Alan Pardew's side to 39 points for the campaign to all-but secure safety, whilst denting City's hopes of retaining their crown this year as Selhurst Park once again proves to be a graveyard for the top sides' Premier League ambitions.
Despite playing the reigning champions and title challengers, Palace were anything but overawed and in the second minute they went close. James McArthur spread the ball out to Martin Kelly who flashed a low cross across the face of goal, where a stretching Puncheon narrowly missed making contact before Wilfried Zaha found the side netting from an acute angle.
But soon after City began to dictate play but their first opportunity came on the counter-attack. A long clearance by Joe Hart found Sergio Aguero who looked to round his compatriot Julian Speroni, but the goalkeeper forced the attacker wide so he instead picked out David Silva but his shot fortuitously deflected off the Palace stopper's shoulder and over the bar.
But on 19 minutes Aguero was afforded a shooting opportunity and he was fractions away from taking it. After being found by Jesus Navas lurking just outside the Eagles box, he characteristically switched the ball onto his left foot and drilled it low past Speroni but saw it come off the base of the post.
The pressure from the visitors was relentless and Speroni had to get down low to push away a deflected effort from Silva and Aguero blazed over when played in by Fernandinho, but incredibly on 34 minutes Palace grabbed the lead.
After a corner, Joel Ward clipped a cross into the area which was flicked on by Joe Ledley into the path of Scott Dann who saw his shot deflect off the legs of Hart, but it fell kindly for Murray who was mere yards from the goal to slam it into the empty net and stun Manuel Pellegrini's side as the Eagles led at the half.
And incredibly four minutes after the break Pardew's men went two goals ahead. Murray was bundled over by Fernandinho 25 yards from goal and in Mile Jedinak's absence Puncheon stepped up and brilliantly curled the ball over the wall and into the net with Hart grasping thin air.
With the hosts well on top City needed to hit back quickly and Toure went very close with a free-kick from fully 30 yards which rippled the top of the net, and the sky blue-shirted players were incensed when they saw a penalty appeal turned down when the ball struck Murray's hand in the area, but it would have been a harsh award.
But with 12 minutes to go they did manage to pull one back in spectacular style. Samir Nasri's first involvement as a substitute was to whip a dangerous cross into the box which was cleared by Dann into the path of Toure, who slammed the ball around Speroni and into the net to make for a nervy ending.
Palace fans were on the edge of their seats when Frank Lampard and Nasri went for the same ball but the Frenchman got the shot away and saw it deflect narrowly wide, a similar fate which fell Toure's way a minute later, but Palace held on to record a third straight victory.
Crystal Palace: Speroni, Ward, Dann, Delaney, Kelly, Zaha (Gayle 88), McArthur, Ledley, Puncheon, Bolasie (Soaure 84), Murray (Sanogo 83). Subs not used: Hennessey, Hangeland, Boateng, Ameobi.
Manchester City: Hart, Sagna, Demichelis, Kompany, Clichy, Silva, Fernandinho (Milner 88), Toure, Navas (Nasri 77), Dzeko (Lampard 65), Aguero. Subs not used: Caballero, Zabaleta, Mangala, Fernando.