Jonny Bairstow hit a century as England claimed a six-wicket win over Pakistan in Bristol.
The host’s second highest successful run chase means they now take a 2-0 lead in the five match One Day International series.
Pakistan had made 358 for nine on a welcoming Bristol pitch complete with small boundaries and a lightning-fast outfield.
It seemed an imposing target at the halfway stage, but nothing appears to faze this brutal England batting line-up and Bairstow resumed where Jos Buttler had left off at Southampton.
The Yorkshireman’s 128 from 93 balls steered England towards the fifth highest successful run chase in ODI history, and their second after the 364 scored to beat the West Indies in Barbados in February.
Buttler was rested after his weekend batting pyrotechnics had produced an unbeaten 110 from 55 balls – England’s second-fastest ODI hundred.
This time it was a different challenge after England, perhaps wishing to get some experience of chasing with the World Cup on the horizon, had won the toss and decided to bowl.
Roy and Bairstow had some early good fortune as Pakistan’s fielding failed to match their earlier efforts with the bat.
Bairstow, on four, gloved a pull off Junaid Khan and Shaheen Afridi failed to react quickly enough at short backward square.
Shaheen suffered further misery when Roy, on 21, hit Hasan straight to him at mid-off and he spilled the simplest of chances.
Those errors proved costly as Roy and Bairstow put on 159 and became England’s most productive opening ODI partnership into the bargain.
Their fourth 150 partnership was also the fastest one of such a nature, coming from 105 balls and eclipsing the 2008 record of New Zealand pair Brendon McCullum and Jesse Ryder.
Roy fell for 76 when he swatted Faheem Ashraf straight to Asif Ali at cover after hitting eight fours and four sixes in his 55-ball stay.
On his arrival after Roy’s departure, Joe Root was picked up by a pitch microphone asking umpire Paul Reiffel ‘How do you follow that?’
The answer was stand there and watch further carnage, as Bairstow completed his seventh ODI century and finished with 15 fours and five sixes before playing on to Junaid.
Ben Stokes was unluckily run out for 37 when Shaheen diverted Moeen Ali’s drive onto the stumps at the bowler’s end
But Moeen Ali (46 not out) and captain Eoin Morgan (17 not out), who broke Paul Collingwood’s
England record of ODI appearances by playing 198th game, closed the victory out with 31 balls to spare.
Pakistan’s total was built around opener Imam-ul-Haq, whose majestic 151 was his sixth century in 27 ODI appearances.
The 23-year-old might cut an unusual figure at the crease as he bats in spectacles, but he only had eyes for a ball that he regularly sent to the boundary.
Imam carries the burden of being the nephew of Pakistan great and current chief selector Inzamam-ul-Haq, but there is no denying he is a fine player in his own right.
He struck 16 fours and a six and now possesses the highest ODI score by a Pakistan player against England.
Chris Woakes was the pick of the England bowlers and finished with figures of 10-0-67-4, his 11th four-wicket ODI haul.
Woakes found early movement to dismiss Fakhar Zaman – who had made 138 at Southampton – and Babar Azam and leave Pakistan 27 for two in the fifth over.
Pakistan recovered with two 50 partnerships, although Haris Sohail’s run-a-ball 41 could have been so much more.
Haris was punished for some awful running between the wickets, the nifty footwork of Tom Curran leaving him stranded when a little bit of urgency or a final dive would have saved him.
Sarfaraz Ahmed chipped in with 27 and Imam and Asif Ali, who made an ODI best of 52, put on 125 for the fifth wicket.
Woakes’ return briefly stunted Pakistan’s late push for runs until Hasan Ali provided further impetus with an unbeaten 18 from nine balls.
But England coasted home and now head to Trent Bridge on Friday 2-0 ahead with two games to play.