England edged past the West Indies by 18 runs in their final Group B match at the M A Chidambaram stadium in Chennai on Thursday to keep their hopes of a place in the knock-out stage of the World Cup alive.
England's third win in the competition, which has seen them suffer embarrassing losses to minnows Ireland and Bangladesh, takes their points tally to seven.
If South Africa beat Bangladesh on Saturday, as expected, Andrew Strauss's men will march into the last eight.
Thursday's result was crucial in the sense that it has now thrown the ball in the opposition court -- Bangladesh's fate is in its own hands now. England did what it had to do to survive an early exit.
In what was a must-win game for the three-time finalists, England, after electing to bat, got off to a steady start, suffered a mid-innings slump before putting together 243, just about enough to make the match a competitive affair despite getting dismissed in 48.4 overs.
Jonathan Trott top-scored with 47 and there were other useful contributions from Luke Wright (44) and captain Andrew Strauss (31).
Andre Russell and debutant Devendra Bishoo were the pick of the Caribbean bowlers, with figures of four for 49 and three for 34 respectively.
Chasing 244 to win, the West Indies got off to a flier and always remained in the hunt before their tail failed to take them through.
Russell top-scored with 49, while there were significant contributions from Chris Gayle (43) and Darren Sammy (41).
James Tredwell was the best bowler for England with impressive figures of four for 48 while Graeme Swann excelled with figures of three for 36.
And the spinning duo helped England secure what they so desperately needed -- a much needed win.
Andrew Strauss (31) and Matt Prior (21) gave England a perfect start, putting on 48 runs for the opening wicket, before Andre Russell rattled the latter's stumps with sheer pace.
In came Jonathan Trott (47) and he began with a flurry of boundaries, scoring seven off the first 19 balls he faced.
However, Russell struck again, having Strauss caught by Chris Gayle to bring his side back into the game.
The England captain's 39-ball innings was inclusive of three hits to the fence and one over it.
His dismissal though curtailed England's scoring rate to a considerable extent.
Trott and Bell nonetheless added 42 runs for the third wicket in a little over 10 overs before debutant Devendra Bishoo struck a crucial blow.
Bishoo's first international wicket was one to cherish. He had a well-settled Trott caught by Gayle at midwicket.
Trott's 38-ball innings consisted of seven boundaries. And the 47 he made on Thursday bolstered his aggregate to 336 runs in six matches -- the highest in the tournament thus far.
However, his dismissal reduced England to 121 for three after the 22nd over. And what followed was a mid-innings slump.
Sammy's decision to re-introduce Kemar Roach into the attack in the 27th over yielded immediate dividends as the latter cleaned up Ian Bell (27) with his first delivery of the spell.
Bishoo had the potentially dangerous Eoin Morgan (7) caught behind in the next over. And when Russell came back to rattle Ravi Bopara's (4) timber shortly after, it seemed a lost cause for England -- the three-time finalists having slumped to 151 for six from a comfortable 121 for two.
Luke Wright (44) and James Tredwell (9) put on a valuable 41-run stand for the seventh wicket before the latter was run out in the 40th over.
Wright then put on another 24 runs for the eighth wicket with Tim Bresnan before hitting a Bishoo delivery straight to Russell at deep midwicket.
His dismissal ensured the young spinner had a spectacular one-day debut, finishing with figures of three for 34.
Tim Bresnan (20 not out) used the long handle to good effect to ensure the English total had a semblance of respectability.
West Indies innings:
Chasing a competitive total, West Indies got off to a flying start, courtesy someone named Chris Gayle (43).
The flamboyant opener got into the act in Tim Bresnan's second over, the third of the innings, hitting as many as four boundaries.
His assault forced the England captain to take Bresnan off and replace him with Chris Tremlett. It made no difference to Gayle though. Tremlett went for 18 in his opening over, with Gayle helping himself to three boundaries and a maximum over mid-on.
The former captain's assault helped the West Indies cross the 50-run mark inside six overs and forced Strauss to make another bowling change.
James Tredwell was introduced into the attack in the seventh over and the impact was immediate.
Gayle smashed the fourth ball from the spinner over the midwicket for yet another boundary. However, the spinner had his revenge in the very next ball, having the batsman out leg before.
Gayle went for a referral but to no avail. England had got the wicket they so desperately wanted and Tredwell's first one-day wicket was one to remember.
Gayle's 21-ball blitzkrieg was inclusive of eight hits to the fence and one over it. And his offensive had ensured West Indiesthe start they wanted a 58-run partnership for the opening wicket in just under seven overs.
Devon Smith (10), Gayle's opening partner, didn't survive long either. He became Tredwell's second victim, stumped by Prior. There was a bit of drama involved here with the third umpire first pressing the wrong button (not out) before rectifying his mistake in quick time.
Darren Bravo (5) too didn't survive long, Tredwell having him caught at first slip by Strauss for his third wicket.
Darren Sammy (41) eased the pressure considerably for the Windies with some attacking batting.
Three sixes off Tremlett and a couple of boundaries off Bresnan from the captain helped West Indies maintain the scoring rate that existed when Gayle batted.
However, just when things seemed to be settling down for the Caribbeans, Ravi Bopara rattled the timber of Sammy in the first ball after drinks (18th over).
In his next over Bopara helped himself with another wicket, getting through Devon Thomas' (10) defence.
The West Indies had been reduced to 118 for five at the end of the 20th over.
Kieron Pollard (24) joined Ramnaresh Sarwan and the duo took the score to 150. Pollard hit a six each off Swann and Bopara before the former caught him plumb in front of the wicket.
However, Andre Russell, who had played a crucial role with the ball earlier in the day, came in to play a starring role with the bat.
His 46-ball 49, inclusive of two boundaries and three maximums, along with Ramnaresh Sarwan's 31 -- their partnership yielding 72 runs for the seventh wicket, kept West Indies in the hunt.
However, their dismissal in quick succession meant the writing was on the wall for the former champions.