The Merseysiders scored an early goal but were twice saved by the woodwork before United deservedly drew level in the 65th minute.
Home keeper John Achterberg made a good early save with an outstretched leg from the lively Guylain Ndumbu-Nsungu and then Gavin Johnson headed over after a corner.
But Tranmere went ahead in the eighth minute. The visitors failed to clear from Jason McAteer, and Eugene Dadi pounced on the loose ball and rounded Dean Gerken to net easily.
Chris Dagnall fired just over for Tranmere after a great run in the 41st minute.
In first half injury time, Joe Keith fired onto the crossbar from 25 yards, with Achterberg saving the effort by Neil Danns from the rebound.
United looked sharp after the break. Greg Halford raced through after getting the better of Ian Goodison, only to rattle the crossbar.
But it was Halford's cross which brought the equaliser in the 65th minute from a powerful close-range header by Keith.
The visitors could easily have gone ahead in the 74th minute. Halford got clear but Achterberg came to the rescue with an excellent save.
Tranmere almost nicked it in injury time but Gerken produced a terrific one-handed save from Dagnall, with sub Gary Jones inches wide as the ball ran loose.
Danns was superb in the Colchester midfield while Gareth Roberts, Danny Harrison and Goodison were best on the day for Tranmere.