West Brom moved up to second place as they ended Colchester's 14-game unbeaten home run at Layer Road. After a dominant start, West Brom broke through on 51 minutes when Paul McShane turned in Robert Koren's corner.
Diomansy Kamara quickly added a second, beating Colchester keeper Dean Gerken with a close-range effort.
The Us hit back when Johnnie Jackson fired in Kevin Watson's corner but Jamie Cureton was denied their best chance of an equaliser by Dean Kiely.
Colchester manager Geraint Williams:
"It's been a long time since we had the feeling on a home defeat. "We knew it would be tough and we were disappointed to go 2-0 down, though the response was magnificent.
"The players are very down after losing, but they should be proud of their home record. We will learn from this and move on."
West Brom manager Tony Mowbray:
"My players showed a lot of togetherness and determination. "We're on a decent run at the moment and we want to keep that going.
"We have immense respect for Colchester, and that's why we built this game up like a cup final."
Colchester: Gerken, White (Garcia 58), Mills, Brown, Barker, Duguid, Watson, Izzet (McLeod 76), Jackson, Iwelumo, Cureton.
Subs Not Used: Cousins, Baldwin, Ephraim.
Booked: Izzet.
Goals: Jackson 55.
West Brom: Kiely, McShane, Curtis Davies, Clement, Robinson, Gera, Carter, Chaplow, Koren, Hartson (MacDonald 76), Kamara.
Subs Not Used: Daniels, Albrechtsen, Koumas, Hodgkiss.
Booked: Carter, McShane.
Goals: McShane 51, Kamara 52.
Att: 5,611
Ref: M Atkinson (W Yorkshire).