Doug Loft rescued a point at the death for the Gills on Saturday.
The Gillingham skipper fired home with seven minutes of stoppage time played to deny Colchester maximum points at Priestfield.
George Moncur put the visitors ahead midway through the second half.
The Gills twice had penalty appeals turned down after the break but they finally levelled through defender Max Ehmer.
Chris Porter headed home to put Colchester 2-1 up but with seconds left Loft fired home to level the match.
There were a couple of surprise changes for the Gills, most notably in goal, as last season’s player-of-the-year Stuart Nelson was dropped in favour of Glenn Morris.
Upfront Millwall loanee John Marquis was relegated to the bench as Luke Norris ended a long wait for a start. His last appearance from the off came on Boxing Day, when the Gills won in Colchester.
Boss Justin Edinburgh was looking for a response from his team after the poor performance at Chesterfield in the week.
Birmingham loanee Amari’i Bell made his debut, in place of injured Joe Martin, while fit-again Jake Hessenthaler swapped places in the starting line-up for Oliver Muldoon.
Bell showed no signs of nervousness on his Gills debut as he dealt with wide-man Dion Sembie-Ferris well in the opening half.
It was a half of very few clear goalscoring chances for either team and Gills’ best came just 20 seconds in. Norris dinked the ball over to McDonald but Sam Walker got a hand to the subsequent shot.
Keeper Morris comfortably dealt with Alex Gilbey’s early shot and a header from Chris Porter, which came from a corner. The visitors had seven corners in the half but set-pieces weren’t their strong point.
Jermaine McGlashan started the second half for the Gills after replacing Aaron Morris.
But it was the visitors who threatened first after the restart. Colchester almost broke the deadlock 19 seconds in but Chris Porter, who got the better of Max Ehmer, dragged the shot wide.
The second half had a lot more attacking intent than the second and Morris got down well to save from George Moncur, with 51 minutes gone.
Gillingham had big appeals for a penalty turned down on the hour, when McGlashan looked to have his heels clipped in the area, but referee Darren Sheldrake ignored the protests and waved play on.
With 64 minutes gone Colchester took the lead. A deep cross into the box was headed back into the centre from the far post and Moncur’s powerful effort flew into the roof of the net.
The Gills had another penalty appeal turned down with 20 minutes left when Doug Loft’s cross struck a hand in the box. Sheldrake said no and Bradley Dack fired the loose ball wide.
Dack came close to equalising with 15 minutes left but his looping header, from Hessenthaler’s cross, was tipped over by Walker. Dack was again denied by the keeper from the subsequent corner.
With eight minutes left the Gills levelled. Ehmer’s glancing header, from Loft’s free-kick, was enough to take the ball beyond Walker and into the net.
Colchester retook the lead on 87 minutes when a left-sided cross was met at the near post by Porter and he squeezed the ball home from close range with a glancing header.
The Gills almost scored a second equaliser in stoppage time, when Gavin Hoyte’s shot hit the bar and John Marquis’ follow-up was saved by Walker.
Colchester’s Briggs was sent off deep into stoppage time, for a second yellow card, both for fouls.
Just as Colchester thought the points were safe, the ball rolled out to Loft on the edge of the box and he curled the ball past Walker for his first league goal in a Gills shirt.
Gillingham: G Morris, Hoyte, Bell (Dickenson 74mins), Egan, Ehmer, A Morris (McGlashan 46mins), Loft, Hessenthaler, Dack, Norris (Marquis 68mins), McDonald. Subs: Nelson, Legge, Galbraith, Muldoon.
Colchester: Walker, Wynter, Khumalo, Eastman, Briggs, Fox (Szmodics 51mins), Gilbey, Moncur, Sembie-Ferris (Massey 46mins), Porter, Murphy. Subs: Marriott, Lewington, Vincent-Young, Bonne, Lapslie.
Attendance: 5319 (344 away)