The hosts were vying for a ninth-straight victory in England's third tier, and the O's were handed a huge advantage in their quest to prolong their perfect start to the season on 18 minutes, as Andy Butler was sent off for a rash challenge on Romain Vincelot.
David Mooney fired the hosts to a 1-0 lead at the interval, before Craig Westcarr levelled matters midway through the second half but, despite the numerical advantage, the Londoners failed to capitalise and Vincelot was dismissed in stoppage time.
The result means that Russell Slade's men remain top of League One but, with victories for both Peterborough United and Wolverhampton Wanderers this afternoon, their lead has been cut to just three points.
Grant McCann's 51st-minute penalty proved enough for Posh to see off Rotherham United at the New York Stadium, while two second-half goals from Leigh Griffiths and Bakary Sako helped Wolves to a 2-0 win over Sheffield United.
Cody McDonald fired the visitors to a 1-0 lead at the break, before further strikes from Joe Martin and Adam Barrett secured the win, which will relieve some of the pressure resting on Gills coach Martin Allen after the club's inauspicious start to the campaign.
Twenty-year-old Patrick Bamford - on loan from Chelsea - fired Karl Robinson's men to a 2-0 lead early on, before Bamidele Alli and Shaun Williams added further strikes, either side of a Darren Potter own goal.
Results in full: Bradford City 2-1 Shrewsbury Town, Bristol City 1-1 Colchester United, Carlisle United 2-1 Notts County, Crawley Town 1-0 Oldham Athletic, Crewe Alexandra 0-3 Gillingham, Leyton Orient 1-1 Walsall, MK Dons 4-1 Stevenage, Preston North End 2-1 Swindon Town, Rotherham United 0-1 Peterborough United, Tranmere Rovers 0-1 Port Vale, Wolverhampton Wanderers 2-0 Sheffield United