Chennai - Off-spinners James Tredwell and Graeme Swann took seven wickets between them as England kept their World Cup quarter-final hopes alive with an 18-run win over the West Indies Thursday.
West Indies, chasing 244 for victory, were 222 for six after a stand of 72 between Ramnaresh Sarwan (31) and all-rounder Andre Russell (49) rescued them from the depths of 150 for six.
But they lost their final four wickets for three runs to finish on 225 all out, with Sulieman Benn the last man dismissed when he was run out by Jonathan Trott's throw to wicketkeeper Matt Prior with more than five overs left.
England now need Bangladesh to lose to South Africa on Saturday.
If Bangladesh win, England can still go through if India beat West Indies on Sunday in the final match of Group B.
However, a West Indies win would see them into the last eight.
Russell, caught on 39 at long-on by Trott only to be awarded a six after the diving fielder just glanced the boundary marker, saw his 46-ball innings end when he was lbw to World Cup debutant Tredwell.
The spinner was named man-of-the-match for his four for 48 to spark the climatic slump.
England then saw Sarwan turn Swann (three for 36) straight to Ian Bell at short leg.
Two balls later Kemar Roach was caught by a diving Chris Tremlett off Swann to leave West Indies 223 for nine.
West Indies had seen fit-again opener Chris Gayle (43) make a typically rapid start as their fifty came up inside five overs.
But Tredwell took his first one-day international wicket when, fifth ball, he had Gayle, pushing half-forward, lbw to end a 21-ball innings featuring a six and eight fours.
Tredwell, in only his fourth ODI, then had Devon Smith stumped by wicketkeeper Prior as he took two wickets for nine runs in eight balls.
Tredwell then had Darren Bravo edging to England captain Andrew Strauss at first slip.
Darren Sammy, the West Indies skipper, struck several sixes off Tredwell before playing onto Ravi Bopara for 41 off 29 balls.
And when Devon Thomas also played on to Bopara, West Indies were 118 for five.
Swann had the big-hitting Kieron Pollard plumb lbw for 24, despite a desperate review, and West Indies were six down.
Earlier, Luke Wright kept England's hopes alive with 44 after they'd slumped to 134 for five.
Trott (47) was the only other England batsman who made more than Strauss's 31 in an innings where debutant leg-spinner Davendra Bishoo took three wickets and Russell claimed four.
England: Andrew Strauss (capt), Matt Prior (wk),
Jonathan Trott, Ian Bell, Eoin Morgan, Ravi Bopara, Luke Wright, Tim
Bresnan, Graeme Swann, James Tredwell and Chris Tremlett.
West Indies: Chris Gayle, Devon Smith, Darren Bravo, Ramnaresh Sarwan, Kieron Pollard, Devon Thomas (wk), Darren Sammy (capt), Andre Russell, Sulieman Benn,Devendra Bishoo and Kemar Roach.