The Dons struck twice in the last five minutes, with their captain Dean Lewington heading in with four minutes to go and Ali Gerba then completed his brace with a late tap-in.
Rune Lange had given the visitors an early lead. But it lasted only seconds as Gerba fired in a equaliser within a minute.
The three points extended the Dons's advantage in second-place, as Peterborough and Scunthorpe both lost.
Leicester City remain clear at the top of the table, and Andy King's late equaliser to secure a 1-1 home draw with Swindon Town - who led thanks to a David Cox goal - saw them extend their lead to third place to 16 points.
Yeovil Town dented Posh's promotion hopes by becoming the first side to claim a league win at London Road since the end of August.
Paul Warne, Aaron Brown and and own goal from the home goalkeeper Joe Lewis gave the Glovers a 3-1 success.
Dean Windass ensured Oldham Athletic joined Scunthorpe and Peterborough on 53 points.
The forward's second-half header ensured a 2-1 win over Northampton Town. Reuben Hazell had put the Latics ahead, and although Adebayo Akinfenwa got a consolation for the Cobblers they could not force a draw.
Millwall remain in the final play-off position, but they had to settle for a point in a 2-2 draw at Stockport County.
Goals in the final 11 minutes from Matty McNeil and Oli Johnson rescued a well-deserved point for Stockport, who trailed to two Izale McLeod strikes.
Nathan Clarke kept Huddersfield Town's play-off hopes alive with another derby defeat of Leeds United.
Carlisle United pulled away from the relegation zone with a 2-0 win at Brighton. Joe Anyinsah and Richard Keogh were on the scoresheet for the Cumbrians.
The Seagulls sixth league defeat out of seven in front of their own supporters leaves them still deep in trouble, despite making six signings during the January transfer window.
An early strike from captain Stephen Purches lifted Leyton Orient out of the bottom four, securing a 1-0 home win over Crewe Alexandra.
Hereford United gave their hopes of staying up a boost with a 3-2 success at Cheltenham Town.
Goals from Michael Ricketts and Troy Deeney gave Walsall a comfortable 2-0 win over Colchester United.
Substitute Kevin Betsy grabbed the winning goal in the third minute of stoppage time to see Southend United beat Tranmere Rovers 2-1.