Set 161 after Jofra Archer and Joe Root had taken three wickets apiece in a commanding display from the hosts, Roy and Jonny Bairstow (39 off 22) shared an opening stand of 77 in 7.2 overs.
There was no let-up for Afghanistan when Bairstow was stumped by stand-in keeper Rahmat Shah off Mohammad Nabi, as Roy and Root (29* off 37) reached their target in just 17.3 overs.
After Eoin Morgan won the toss and elected to field, Afghanistan’s batsmen were determined to play their shots from the outset – for better or for worse – and 12 runs were taken off Jofra Archer’s opening over, with Hazratullah Zazai finding consecutive boundaries.
Archer (3/32) soon had his revenge, though, inducing a top-edge from Hazratullah which was comfortably pouched by Moeen Ali at mid-on.
The paceman has been used sparingly by England in the lead-up to the World Cup but showed he is fine fettle, taking a second wicket in his third over, another back-of-a-length delivery accounting for Shah – who spooned the ball to mid-on.
Noor Ali Zadran played some lovely strokes in his 34-ball 30 until he fell to Ben Stokes and Asghar Afghan was unable to resist taking on the part-time spin of Root, holing out to long-on to leave his side in the mire at 66/4.
Poor judgment continued to afflict the Afghan innings. Hashmatullah Shahidi was run out after some excellent work from sub fielder Liam Plunkett in the deep before captain Gulbadin Naib slapped Moeen straight to Stokes at long-on. When Najibullah Zadran was run out and Rashid Khan edged Root to Stokes at slip, four wickets had fallen in the space of eight deliveries, leaving Afghanistan 92/8.
The dismissal of Aftab Alam gave Root (3/22) his third before some lusty blows from Nabi (44 from 42) and No.11 Dawlat Zadran (20* from 17) provided the score a semblance of respectability prior to Archer accounting for the former.
A total of 160 was never likely to be anywhere near enough, however, England knocking off the runs in double-quick time to finish their World Cup preparations in dominant fashion.