League One Review: Afobe scores treble in MK Dons rout
The striker, on loan from Premier League side Arsenal, took his tally for the season to 16 goals in all competitions, heaping further misery on a Colchester team that has now lost four in a row.
Karl Robinson's fourth-placed side remain four points off the top two, with two games in hand, after midfielder Ben Gladwin scored four minutes from time to maintain Swindon Town's grip on second with a 1-0 victory over Fleetwood Town.
Preston North End remain a point adrift of the automatic promotion places following a 2-0 triumph at second-bottom Yeovil Town, who had defender Ryan Inniss sent off in the 63rd minute.
Oldham Athletic, meanwhile, jumped into the top six courtesy of a 3-0 away success against Lancashire rivals Rochdale.
At the other end of the table Crewe Alexandra's 1-1 draw with Doncaster Rovers was not enough to lift them off the bottom, while a double from Paddy Madden gave Scunthorpe United a 2-1 win at Barnsley.
Scunthorpe are now only in the bottom four on goal difference, level on points with both Gillingham and Leyton Orient.
Gillingham were denied by an injury-time equaliser from Michael Brown in a 2-2 home draw with Port Vale, but Orient endured an even more difficult afternoon as they lost 3-1 at Bradford City and had forward Chris Dagnall sent off.
Elsewhere, Crawley Town and Chesterfield played out a 1-1 draw that ended with the hosts' Izale McLeod and the visitors' Daniel Jones being dismissed following a 21-man brawl, and Coventry City were held to a goalless stalemate by Walsall.