Elliot Lee's headed goal in injury time earned Colchester a point against Rotherham in controversial circumstances.
Marcus Bean gave the visitors the lead with an early header but the Millers levelled moments later when Matt Tubbs fired in Ben Pringle's cross.
Kieran Agard converted in a crowded penalty area to put Rotherham in front.
Deep into added time Lee's header was deemed to have crossed the line by the assistant referee.
Rotherham boss Steve Evans told BBC Radio Sheffield:
"I'm as down as I've ever been. I know there's a minimum of four minutes (of time added on) but they've scored in the fifth.
"We've had enough chances to win the game.
"We've battered them, we've absolutely battered them from start to finish. We've got a tendency to make an error and that's killing us."
Colchester United manager Joe Dunne told BBC Essex:
"We didn't play well. We couldn't deal with the long ball threat of Rotherham. I lost my rag at half-time.
"The first half was the worst we've played all season. We were beaten up, were were second. We looked like an under-14s team playing against a real seasoned men's team."
"I got a response second half. They kept going and kept going and kept going. A young team, again we finished with teenagers on the pitch. Great character.
"Not playing well and getting a point here is a very good result. Sometimes these are as good as wins. We'll take the point, and we'll go home happy."
Rotherham United 21 Collin 14 Bradley Booked 03 Skarz 10 O'Connor (Milsom - 90' ) 06 Mills 04 Arnason 22 Agard 08 Frecklington 16 Tubbs Booked (Eaves - 87' ) 09 Revell 18 Pringle (Brindley - 92' ) Substitutes 01 Shearer 02 Brindley 15 Milsom 17 Nardiello 23 Tidser 25 Eaves 31 Rowe Colchester United 44 Walker 20 Wilson 27 Garbutt Booked 15 Bean (Szmodics - 83' ) 04 Okuonghae 39 Bolger Booked 16 Monakana (Bonne - 52' ) 06 Eastmond (Bond - 59' ) 09 Morrison 38 Lee Booked 22 Gilbey Substitutes 01 Cousins 03 Dickson 14 Bond 18 Eastman 25 Vose 40 Szmodics 41 Bonne
Ref: Seb Stockbridge