Two goals by Neil Shipperley sealed a league double for Wimbledon over Division One leaders Manchester City.
Ali Bernabia's second-half strike put City back into the game briefly.
But Wimbledon stood firm to earn all three points at a rain-sodden Selhurst Park, consigning Kevin Keegan's men to their first defeat of the year.
City's miserable afternoon was compounded when Stuart Pearce was sent off in the final minute, adding to the club's growing disciplinary problems.
The prolific Shaun Goater, who has already scored 24 league goals this season, went close to giving the visitors an early lead.
He timed his run to perfection, galloping on to a clever through-ball and dispatching a well-struck shot which Kelvin Davis expertly palmed away for a corner.
But Wimbledon were not overawed by the division's top side and stuck to their task in determined fashion.
Patience was the key, and good pressure mid-way through the first half saw the City defence threatened on a couple of occasions.
Pearce and Richard Dunne made good interceptions to thwart the Dons attack.
But fellow defender Gerard Wiekens was less exact with his challenge on Wimbledon's Damien Francis.
Neal Ardley pumped the resulting free-kick into the City area and Shipperley met the ball, striking it past Nicky Weaver.
The Dons midfield did well to contain City duo Eyal Berkovic and Bernabia, denying both the chance to dictate proceedings.
After the interval, City sought to restore parity. And they did so in style.
An effortless pass by Berkovic released Shaun Wright-Phillips on the half-way line.
The busy City wing-back picked out Huckerby, whose cross just eluded Goater in the Wimbledon area but fell kindly to Bernabia, who refused to rush what proved an easy goal.
But Wimbledon refused to buckle and took the game to City.
Peter Hawkins was fouled by Berkovic, who got an accidental slap in the face and a yellow card for his efforts.
The Ardley-Shipperley combination again worked to devastating effect, with Shipperley rising above the City defence to glance home a header.
Shipperley went close to grabbing a third and his completing hat-trick, while Patrick Agyemang proved a handful in the closing stages of the game.
City pushed forward in search of another equaliser, but were met by some resolute Dons defending.