Brian Howard's penalty put Barnsley ahead after keeper Dean Gerken sent off for bringing down Kayode Odejayi.
Sheringham scored from close range to equalise on 45 minutes before Matthew Connolly headed the U's ahead.
Paul Reid was sent off for a foul on Sheringham but a handball by Johnnie Jackson let Howard level from the spot.
Barnsley boss Simon Davey:
"Layer Road is a tough place to come to. It's always tough playing against 10 men but when it went to 10 versus 10 we felt we had the chance to win it.
"We got back into the game after going 2-1 down and showed good character but we're disappointed with Paul's red card.
"He led with his arm and he caught him but it wasn't intentional.
"We are now undefeated in two games and it's important that we keep that going."
Colchester: Gerken, Duguid, Baldwin, Connolly, Elokobi, Yeates (Virgo 90), Izzet, Jackson, McLeod (Guttridge 66), Lisbie (Cousins 27), Sheringham.
Subs Not Used: Granville, White.
Sent Off: Gerken (26).
Booked: Jackson, Izzet.
Goals: Sheringham 45, Connolly 48.
Barnsley: Muller, Nyatanga, Reid, Souza, Kozluk, Johnson (Togwell 57), Howard, Werling (McCann 57), Ricketts (Christensen 73), Odejayi, Ferenczi.
Subs Not Used: Colgan, Mostto.
Sent Off: Reid (51).
Booked: Ferenczi, Werling.
Goals: Howard 28 pen, 85 pen.
Ref: A Hall (W Midlands).