Colchester gave Chelsea a huge scare before Joe Cole's two late goals spared the FA Cup favourites' blushes.
Cole came on at the start of the second half
Colchester had hit the post through a Mark Yeates shot before they went ahead when Ricardo Carvalho deflected Richard Garcia's cross past Carlo Cudicini.
On 37 minutes Chelsea pulled level when Colchester were unable to clear a corner and Paulo Ferreira flicked in.
Chelsea dominated after the break and Cole scored with a close-range finish and a dipping shot from 20 yards.
The victory means that Jose Mourinho's team are now in the draw for the quarter-finals of the FA Cup.
On a difficult pitch in driving rain both teams served up an absorbing game as the match swung from end to end.
The visitors took no notice of the form book and outplayed their Premiership opponents for large parts of the first half.
Garcia was superb in attack for Colchester, while Wayne Brown was a colossus for them in defence.
It was a sign of how impressive Colchester were in the opening half that Chelsea manager Mourinho introduced Frank Lampard and Joe Cole at the start of the second half.
The introduction of those two players altered the course of the match as Chelsea took control of midfield.
Before the start Colchester's 6,000 travelling supporters had greeted their team by releasing hundreds of balloons into the air.
But an early mistake from Colchester goalkeeper Aidan Davison threatened to puncture the League One side's FA Cup hopes.
Davidson's poor clearance went straight to Shaun Wright-Phillips, but the Chelsea winger's shot was too close to the Colchester keeper.
Having survived unscathed, Colchester visibly grew in confidence as Garcia began to trouble the Chelsea defence.
First the Australian drilled the ball across the Chelsea box, an effort that prompted a hurried clearance from Robert Huth.
Then Yeates gave Chelsea another scare when he capitalised on Ferreira's poor positioning to drill a shot past Cudicini, only for the ball to rebound off the upright.
Just before the half-hour Colchester's ambitious approach was rewarded when Garcia drilled in a cross from the right for a second time and turned away in jubilation after Carvalho inadvertently steered the ball past Cudicini.
Stung by Colchester's goal Chelsea refocused their attack and within nine minutes they were level as Ferreira flicked the ball past Davison after a corner.
Chelsea should have taken the lead on 56 minutes but Drogba steered a header wide after Damien Duff had crossed.
As Colchester visibly tired, Davison twice made good saves to deny Cole and then Crespo.
But when Crespo next shot, Davison was unable to gather the ball and Cole pounced to put Chelsea in front.
Late on, Cole capped a fine performance with a wonderful solo effort, flighting a shot over Davison's despairing dive.
Chelsea: Cudicini, Johnson, Huth, Ricardo Carvalho, Paulo Ferreira, Diarra (Joe Cole 45), Wright-Phillips, Essien, Maniche (Lampard 45), Duff (Crespo 63), Drogba.
Subs Not Used: Carlton Cole, Pidgeley.
Booked: Paulo Ferreira.
Goals: Paulo Ferreira 37, Joe Cole 79, 90.
Colchester: Davison, Duguid, Baldwin, Brown, White, Yeates (Chilvers 73), Danns, Watson, Halford, Garcia (Williams 81), Iwelumo.
Subs Not Used: Izzet, Gerken, Elokobi.
Goals: Ricardo Carvalho 28 og.
Ref: D Gallagher (Oxfordshire).