West Ham 2 Chelsea 3

How late, how cruel....West Ham, who led this enthralling FA Cup replay twice, were stunned by John Terry's last minute winner as Chelsea snatched a 3-2 victory and a place in the last 16.

Jermain Defoe put Hammers ahead in the 37th and 50th minutes, either side of a Jimmy Floyd Hasselbaink strike three minutes from half-time, but a gift of a goal for Mikael Forssell midway through the second half gave the Blues the impetus to push hard for the winner in the closing stages.

But West Ham will look back and wonder why it is not them who will face Preston North End at home in the fifth round.

Paul Kitson, a late replacement for Fredi Kanoute, who again pulled out with hamstring trouble, should have made it 2-0 three minutes after Defoe had found the net with a rasping right-foot volley that flew in via the outstretched boots of both Terry and keeper Carlo Cudicini at the Bobby Moore Stand end. 'Kits' found space 12 yards out but scuffed his left-foot shot and the Italian was able to parry before gathering at the second attempt.

Chelsea's first equaliser was unsatisfactory on two counts. Firstly, Tomas Repka - who was otherwise a rock at the heart of defence - needlessly and deliberately handled the ball 20 yards from his own goal. It didn't take a genius to work out what Hasselbaink intended to do but David James and his fellow defenders could hardly have had a good view of the ball as referee Graham Poll - who had booked Repka - stood just inches away from the ball. As Poll stepped aside, Hasselbaink netted his 11th goal in 10 matches against West Ham.

Don Hutchison, who, with Sebastien Schemmel, set up Defoe's second with a cracking volleyed left-foot cross, had Cudicini at full stretch with a header - and how he needed that to go in, having presented Chelsea's second equaliser to Forssell.

Stanic's sweeping right wing cross was drifting well beyond the far post but instead of helping it on for a throw on the far side, or nodding it behind for a corner, Hutch attempted to cushion it back to James. The ball dropped short and the Finn just managed to flick it beyond the stranded keeper, who was left helpless.

Even then Hammers could still have taken the lead for a third time, but Christian Dailly's header from substitute Vladimir Labant's angled freekick on the left bounced agonisingly against the far post and Cudicini just managed to scramble the rebound clear.

That was six minutes from time and the win would have been no less than West Ham deserved, although Chelsea enjoyed just as much possession and did finish the stronger side.

Labant had replaced Hutchison, whose height might have been useful as Le Saux swung in a succession of dangerous corners from the right, but Glenn Roeder had precious few other options as the fragility of his squad became even clearer. Svetoslav Todorov had a rare and brief run-out in place of the tiring Kitson but with Paolo Di Canio serving the first of his three-game ban and Michael Carrick injured, the loss of Kanoute - whose goal at Stamford Bridge earned this replay - was a massive blow.

Having conceded only seven times at home before tonight, it was a shellshocked team and fans in claret and blue who made dejectedly for the exit gates, lamenting yet another cup tie when they shot themselves in the foot.

Minute-by-minute:

3 - Hutchison's sweeping pass almost picks out Kitson, but the ball is slightly overhit and runs through to Cudicini.

11 - Sinclair's long ball over the top looks set to release Defoe, before Desailly magnificently and acrobatically hooks the ball away from danger.

16 - Chelsea go close to scoring as Terry gallops out of defence to play a one-two with Gudjohnsen and collect the return pass in the area before firing a weak shot straight at James. The Hammers keeper immediately finds Sinclair, who picks up the ball on the halfway line before running at Ferrer and turning on to his left but shoots just wide of the target.

17 - Hasselbaink drags a left-foot shot wide from the edge of the area.

20 - Schemmel's flick finds Hutchison in the box, but the Hammers midfielder takes one touch too many and can only clip the ball back for Kitson, whose headed effort is blocked by Desailly.

26 - Hasselbaink's through-pass beats Repka and looks to have set Gudjohnsen away, but the ever-alert David James is quick out of his area to clear the danger.

30 - Kitson's determination pays off as he dispossesses Ferrer in the area and lays the ball back for Cole, whose right foot shot flies well wide of the target.

32 - Winterburn races down the left to collect a return pass from Sinclair and cut back a cross that Kitson is just inches from making contact with.

37 - GOAL! Hammers take a deserved lead in bizarre circumstances as Lomas' cross towards Kitson is cleared by Desailly and instinctively volleyed back on target by Defoe, deflecting up off the heel of Terry and bouncing in off the crossbar. West Ham United 1 Chelsea 0.

40 - A deep cross from the left drops kindly for Kitson just 12 yards out. The striker steadies himself before firing a left foot shot that is well saved by Cudicini.

42 - Repka booked for deliberate handball.

43 - GOAL. Chelsea equalise against the run of play, as Hasselbaink's quickly taken free-kick catches out David James after Repka's deliberate handball. West Ham United 1 Chelsea 1.

Added time: 2 minutes.

45 - Hasselbaink's blistering effort from fully 30 yards out flies just inches over the bar.

Half-time: West Ham United 1 Chelsea 1.

Second half:

47 - Gudjohnsen's clever reverse pass releases Stanic on the left, but Hutchison recovers magnificently to deny the Croatian.

48 - James flaps at Hasselbaink's corner and the ball is lost in the ensuing scramble before being cleared.

50 - GOAL! It's that man Defoe again as Schemmel's fantastic determination allows Hutchison to gain possession and fire in a bouncing left-foot volley that Cudicini can only parry down into the six yard box, where Defoe is waiting to stab home his second of the match. West Ham United 2 Chelsea 1.

61 - Double substitution for Chelsea, Forssell replaces Gudjohnsen and Zola replaces Dalla Bona.

63 - Stanic booked for foul on Sinclair.

65 - GOAL. A disastrous goal for Hammers to concede as an aimless cross from the right by Stanic is inexplicably headed back towards his own goal by Hutchison, allowing Forssell to nip in and prod the ball between the legs of James for an undeserved equaliser. West Ham United 2 Chelsea 2.

71 - Forssell's fierce drive from the edge of the area is only parried back out by James, where Hasselbaink is following up and seems certain to score. Amazingly, though, the England keeper again denies the Blues with a magnificent block to thwart the Dutchman.

74 - Sinclair's quick free-kick reaches the far post, where Hutchison is waiting to head goalwards but is denied by a fabulous reflex save from Cudicini.

76 - Substitution for West Ham, Labant replaces Hutchison.

81 - A piece of individual brilliance from Defoe, as he collects on the right, turns Desailly and Le Saux and then fires in a dangerous cross-shot that flies just wide of the far post.

82 - Substitution for West Ham, Todorov replaces Kitson.

85 - Labant's curling free-kick from the left is met by Dailly, whose header crashes against the post and agonisingly drops into the arms of Cudicini on the goalline.

89 - Upton Park holds it's breath as Hasselbaink steps up to take a free-kick some 30 yards out, but the wall does it's job and the ball is deflected away for a corner. From Le Saux's flag-kick, Stanic's header is arrowing towards the bottom corner until James somehow dives across to palm the ball away.

Added time: 3 minutes.

90 - Zola's low effort from the edge of the area is deflected just inches past the post for a corner.

90 - GOAL. Heartbreak for the Hammers as Terry rises to meet Le Saux's corner and powers a header into the top corner to hand Chelsea a victory they hardly deserved. West Ham United 2 Chelsea 3.

Full-time: West Ham United 2 Chelsea 3.

*Don't forget to email us your views on tonight's thrilling tie at Upton Park. Simply click the 'Your Comments' link button at the top of the page to have your say.