U's goalkeeper Sam Walker saved from Jack Payne early on while at the other end, Posh keeper Bobby Olejnik denied Craig Eastmond's low shot with his legs.
Payne blasted over for the visitors just before the half hour before Walker made a brilliant save from point-blank save to deny Rowe as Peterborough looked for an opener.
Colchester came close to scoring just before the break through Craig Eastmond, whose shot bounced off the crossbar after a good interchange with Clinton Morrison.
Peterborough were reduced to 10 men eight minutes after half-time when Tomlin appeared to kick out at Eastmond and was shown a straight red card.
Posh's sense of injustice deepened when Rowe was booked for simulation after falling under Walker's challenge in the area.
Teenage substitute Bonne headed in with 21 minutes to go on his home debut, to seal Colchester their first win in 12 league games.