Macauley Bonne scored on his 18th birthday to give Colchester United their first league win in 12 matches at the expense of Peterborough.
Posh went close a number of times in the first half, before U's midfielder Craig Eastmond struck the bar.
Lee Tomlin was then sent off after tangling with Eastmond, before youngster Bonne headed in on what was also his home debut.
Britt Assombalonga twice went close for Posh, who slip to third in the table.
The defeat was Peterborough's first away from home this season, and saw them slip behind Wolves in the promotion hunt.
VIEW FROM THE DRESSING ROOM
Colchester United manager Joe Dunne told BBC Essex:
"They played without any fear. I was confident in the substitutions, it was a big call to take Clinton [Morrison] off, I just felt we needed that energy when they went down to ten men.
"Both guys [Macauley Bonne and Sammy Szmodics] went on and did exceptionally well. In the end we should have scored another two or three to kill the game off.
"I won't begrudge them that because I think we deserved everything we got today.
"It's a wonderful header, you don't see many goals like that anymore. I want to pay special credit to the rest of the team."
Colchester United 44 Walker 20 Wilson Booked 27 Garbutt Booked 06 Eastmond 04 Okuonghae 39 Bolger Booked 22 Gilbey 15 Bean 38 Lee (Szmodics - 68' ) 09 Morrison (Bonne - 62' ) 16 Monakana (Dickson - 80' ) Substitutes 01 Cousins 03 Dickson 14 Bond 19 Ladapo 26 Spence 40 Szmodics 41 Bonne Peterborough United 01 Olejnik 31 Little (Brisley - 98' ) 03 Ntlhe 14 Rowe Booked 05 Zakuani (Barnett - 78' ) 06 Bostwick 11 McCann Booked (Swanson - 78' ) 08 Payne Booked 12 Taylor 10 Tomlin Dismissed 09 Assombalonga Substitutes 02 Alcock 04 Brisley 07 Swanson 13 Day 17 Newell 19 Mendez-Laing 23 Barnett
Ref: Stuart Attwell