A stunning strike from Joe Keith gave Colchester their first away win of the season and condemned Posh to a fourth defeat in a row.
Classy full-back Keith settled a shocking game with a perfect 20-yard free-kick ten minutes from time to leave boss Steve Whitton delighted.
Colchester hung on for maximum points despite playing out the final five minutes of stoppage time with just ten men after Mark Warren's harsh dismissal.
U's boss Whitton said: "It was a scrappy game and was always going to take a special goal to win it."
But opposite number Barry Fry was far from happy. His goalshy side stretched their barren run to six hours and managed only three serious efforts at goal all afternoon.
The home support made their feelings clear with a chorus of boos at the final whistle, but Fry ordered them to lay off the players whose confidence is already draining.
He said: "I know we have lost three games in a row and that is never ideal, but you have to think of all the players we are without.
"Anyone getting on the lads' backs must be completely crackers and should lay off them.
"It is easy to see the lads are losing confidence and we are down to the bare bones. But we have two away games coming up and have to stop feeling sorry for ourselves."
Posh began brightly with non-contract striker Roger Willis unleashing a 25-yard drive that Colchester keeper Richard McKinney tipped on to the crossbar.
But that was the only real goalmouth action at either end until first-half stopppage time when Willis guided a bullet-header straight into the chest of Richard McKinney.
Colchester had a decent penalty shout turned down when a Kemal Izzet shot looked to have struck the hand of Gary MacDonald, but it was Willis who was at the centre of the action straight after the interval.
He looped another header on to the roof of the net from a Matthew Gill cross before Posh's lack of attacking options began to show.
Warren was cautioned for a scything late challenge on Francis Green midway through the half and got his marching orders late on after picking up a second yellow card for kicking the ball away