Liam Lawrence's third goal of the season finally clinched victory for Stoke City, who made hard work of ending Colchester United's unbeaten away record.
City started like a team full of confidence and John Eustace and Mamady Sidibe had shots blocked before they took an eighth-minute lead.
Lawrence swung over a right-wing corner and Ryan Shawcross towered above everyone to net a firm header past Dean Gerken.
Colchester were offering little as an attacking force and suffered a further blow in the 33rd minute, when Karl Duguid was stretchered off after falling awkwardly in a challenge with Lawrence.
Stoke continued to hold the upper-hand as excellent work by Ricardo Fuller set up Sidibe for a shot which was deflected wide.
Sidibe should then have doubled City's advantage on the stroke of half-time when he mis-directed his far-post shot from Carl Dickinson's cross.
Colchester upped their game at the start of the second half and only a timely tackle by Dickinson prevented a clear chance for Kevin Lisbie.
But Stoke appeared to have regained the initiative before the visitors drew level in the 58th minute. Danny Granville delivered a cross from the left and Clive Platt buried a downward header from ten yards.
Stoke must have been kicking themselves to be level on the balance of play, but the introduction of substitute Jon Parkin was instrumental in their 73rd minute winner.
Parkin and Fuller combined to free Lawrence and the former Sunderland winger finished with aplomb as Gerken attempted to narrow the angle.