The 2010 winners were in dire straits at 57-6 halfway through their innings before a half-century stand between Moeen Ali (41) and David Willey (20) salvaged the situation.
Former champions England survived a dramatic batting collapse to beat Afghanistan by 15 runs in a World Twenty20 Group One match on Wednesday and boost their semi-final hopes with a second successive victory.
In a potential banana-skin match against the Afghans, Eoin Morgan's team were in dire straits at 57-6 halfway through their innings before a half-century stand between Moeen Ali (41 not out) and David Willey (20 not out) lifted them to a 142-7.
The 2010 winners looked more convincing with the ball, however, restricting Afghanistan to 127-9 to consign the associate team to their third consecutive defeat in the tournament.
With their second win in three group matches, England are second in the standings behind West Indies, who have won both their opening matches and enjoy a superior net run-rate.
Moeen, who also claimed a wicket, was adjudged man-of-the-match.Morgan was left to rue his decision to bat after three wickets fell in off-spinner Mohammad Nabi's first over, including that of the England captain for nought.
Jason Roy's dismissal in the third over meant England did not get a 50-plus opening stand for the 16th consecutive Twenty20 International but bigger shocks awaited them.
Nabi (2-17) effected three dismissals in one over and held a brilliant catch to completely unhinge England's vaunted batting order which had chased down a massive 230 to win a thriller against South Africa in their last game.
The 31-year-old caught James Vince (22) off his own bowling and castled Morgan for a golden duck.Nabi did not get a hat-trick as his lbw appeal against Ben Stokes was turned down but the Afghan spinner ran out talismanic Englishman Joe Root after an almighty mix-up.
Nabi also dived to his left to scoop up a stunning catch to send back Jos Buttler and England had lost their top order soon after they reached 50 in the eighth over.Moeen and Willey came up with some lusty hits towards the end to plunder 57 runs in 5.3 overs and lift their side to a respectable score.
Afghanistan made a poor start with the bat when Willey's double strike reduced them to 13-3 inside three overs.In between regularly tumbling wickets, the Afghan batsmen struck a few boundaries and Shafiqullah Shafaq blasted a belligerent 35 not but his team could get only eight of the 24 runs they needed from the final over bowled by Stokes.