A late goal from Roman Bednar boosted West Brom's promotion hopes at the expense of bottom-side Colchester.
Chris Coyne's overhead kick gave the U's the lead and Medy Elito made it 2-0 from 18 yards before Kevin Phillips slotted in to reduce the deficit.
Chris Brunt made it 2-2 when he found bottom left corner before Kevin Lisbie pounced after Dean Kiely spilled Kemal Izzet's shot to put the Us back on top.
But James Morrison's 18-yarder and then Bednar's header sealed it for Albion.
"The way we are defending at the moment is a huge disappointment.
"We know we can score goals and to score four is fantastic. To get the three points is a positive but there are to many negatives for my liking.
"It is great we stuck at it and I am delighted the players got the points."
Colchester manager Geraint Williams:
"We didn't defend well enough and to come to a place like Albion, score three goals and not get any reward is criminal.
"We put in a performance full of effort and it deserved some kind of reward.
"But West Brom keep going to the last. I hope they go up because I think they could have a chance to flourish in the Premiership with the way they play."
West Brom: Kiely, Hoefkens (Miller 70), Cesar (Clement 46), Albrechtsen, Robinson, Gera, Greening, Koren (Morrison 72), Brunt, Bednar, Phillips. Subs Not Used: Kim, Pele.
Bookmark with:
What are these?