Leicester came back from a two-goal deficit to stretch their unbeaten run to four games and forge ahead in their attempt to return to the Premiership at the first attempt.
However, it was no easy ride at Selhurst Park. The Dons had a two-goal lead until two minutes before the interval and in a thrilling first half were the superior side.
The first goal came from defender Mark Williams who soared above a static City defence to head in Joel McAnuff's corner after ten minutes.
Just five minutes later skipper Neil Shipperley's free kick was accurately placed around the defensive wall and deceived goalkeeper Ian Walker.
Earlier the Foxes had started well with Alan Rogers heading against the crossbar following a Muzzy Izzet free kick but the Dons dominated the rest of the period until the fateful end of the 43rd minute.
Trevor Benjamin scrambled in their first moments after coming on as a substitute from a Rogers pass.
Then, just before the break, Izzet converted a penalty after Benjamin had been fouled by Damien Francis. The referee consulted a linesman before awarding the spot-kick.
The second half was a less spectacular affair. Its highlight came with nine minutes left when another substitute, Jordan Stewart, fired in a spectacular goal with a 25-yard left-footed shot after a mazy run.
It was a well deserved victory for City as they were much the better side although the Dons could have snatched a point had Walker not tipped over a Shipperley shot with just six minutes left.
This was one of the last Wimbledon appearances at Selhurst Park prior to their move to Milton Keynes and they mustered perhaps the best home support of the season with about 900 of the faithful attending out of a crowd of 2,156