Flamboyant opening batsman Rahmanullah Gurbaz hit a blistering 80 as Afghanistan, buoyed by some lusty late hitting, made 284 against defending champions England in the World Cup on Sunday.
Afghanistan's last four wickets yielded a crucial 94 with the recalled Ikram Alikhil making 58.
Gurbaz, 21, piled up his runs off 57 balls with eight fours and four sixes to register his eighth score in excess of fifty in his brief ODI career.
However, he was furious that he was unable to go on to make a sixth century when he was involved in a disastrous run-out mix-up with captain Hashmatullah Shahidi in the 19th over.
Shahidi pushed the ball into the leg side and sprinted off for the run.
Gurbaz failed to make his ground and England skipper Jos Buttler whipped off the bails from a throw by substitute fielder David Willey.
An angry Gurbaz smashed his bat into a chair as he departed with his team on 122-3.
The ball before his dismissal, Rahmat Shah had been stumped by Buttler off Adil Rashid as Afghanistan undid all of their impressive early work.
Gurbaz had needed just 33 balls to get to his half-century as Afghanistan, put into bat, stormed to 100 without loss from 77 deliveries.
Once Gurbaz was dismissed, England's spinners dragged the champions back into the contest in the middle overs.
The impressive Rashid finished with 3-42 from his 10 overs having initially broken Afghanistan's 114-run opening stand when he had Ibrahim Zadran (28) caught.
Rashid also accounted for the dangerous Rashid Khan who struck a quickfire 23 off 22 balls before his innings was ended by Joe Root diving catch.
But the recalled Alikhil chimed in with a 66-ball 58 after surviving being hit on the shoulder by a 147 km/h delivery from fast bowler Mark Wood.
Mujeeb Ur Rahman added 28 to the total off 16 balls as Afghanistan finished strongly.
England's seamers endured a day to forget with Sam Curran conceding 46 runs off four overs and new ball bowler Chris Woakes coughing up 41 off his four.
England went into the game after a loss to New Zealand and victory over Bangladesh while Afghanistan suffered heavy defeats by six wickets to Bangladesh and eight wickets to India.
Brief scores:
Afghanistan 284 all out in 49.5 overs (Rahmanullah Gurbaz 80, Ikram Alikhil 58; Adil Rashid 3-42) v England.
Source: BSS/AFP