England rallied from a dreadful start against Afghanistan to claim a 15-run win in Delhi and keep alive their hopes of a World Twenty20 semi-final.
After opting to bat first against the first-round qualifiers England reached the halfway stage in disarray at 64 for six, having lost James Vince, Eoin Morgan and Joe Root for no runs in the space of five calamitous deliveries.
But Moeen Ali, who top-scored with 41no, and David Willey (20no) shifted the momentum by adding 57 runs in five-and-a-half overs to close the innings on 142 for seven.
Afghanistan lost wickets at regular intervals but still reached the last over needing 24 to win.
Ben Stokes took the ball and conceded just eight, ending a disappointing England display with a much-needed show of control as the scoreboard stopped on 127 for nine.
There were two wickets apiece for Willey and Adil Rashid and Liam Plunkett, returning to the side in place of Reece Topley, showed great control in conceding just 12 runs from his allocation.
But England will know they got out of jail here and must look hard at their shortcomings, not least their batting against spinners Rashid Khan and Mohammad Nabi, whose eight overs yielded four wickets for 34.
After five overs England were progressing nicely on 41 for five — Jason Roy having lost his leg stump to an ill-advised charge at Amir Hamza.
Then came a slapstick sixth over, bowled by the wily Nabi.
Having beaten Vince once on the outside edge, Nabi tossed the next one up, gathering the gentle return catch that sailed back down the track.
That brought an off-form Morgan to the crease and he simply froze, shouldering arms to his first delivery, which carried straight on to flatten his off stump.
An enthusiastic lbw appeal against Stokes was not enough to earn a hat-trick but the over ended with a farcical run-out.
Root was left stranded after sprinting for a single that Stokes rejected but was given a hint of a reprieve when Nabi broke the bails with his body.
Root flung himself towards the crease but Nabi composed himself, lifted a stump and completed the run out in time.
England had somehow moved from 41 for one to 42 for four in six balls.
Afghanistan would still have been wary of Stokes and Jos Buttler, a pair of fearsome hitters, but their counter-attack went with a whimper.
Buttler eked six from 10 balls before hitting an uppish drive off Samiullah Shenwari and being brilliantly caught by Nabi, while Stokes managed just seven.
He departed in embarrassing fashion, swivelling to pull Khan’s googly but landing on his backside after under-edging into his stumps. An image that eloquently summed up England’s innings so far.
By now a score of even 100 was in doubt but, after Khan added the scalp of Chris Jordan, Moeen and Willey finally unleashed some clean hitting to finish the innings.
Forty-four flowed off the last two three overs, massaging the total towards respectability, pushed along by three sixes and 25 runs off Hamza in the 19th.
The portly opener Mohammad Shahzad has been Afghanistan's danger man in the tournament, and would have eyed the chase eagerly, but he managed the briefest of cameos this time.
He edged the first ball of the innings for four but fell to the third, Willey swinging one in and trapping him lbw.
England struck in each of the next two overs too, captain Asghar Stanikzai wafting Jordan to Root at slip and Gulbadin Naib giving Willey a second success with a ugly chip to cover.
At the end of the six-over powerplay they had just 28 for three, with England already back in control.
A Plunkett maiden turned the screw tighter and the introduction of spin brought further gains.
Khan punched Moeen to cover and Noor Ali gave away a promising knock by gifting Rashid a return catch.
Afghanistan struck a few decent blows as the game advanced to its conclusion, but they were too regularly interrupted by wickets.
Shafiqullah Shafaq kept all results on the table with 35no from 20 balls, but Stokes held his nerve at the close.