Pakistan captain Babar Azam returned to form with a brilliant 158, his highest one-day international score, as the tourists tried to deny England a series sweep at Edgbaston on Tuesday.
Azam's 14th century in 83 matches at this level was the centrepiece of Pakistan's 331-9 after they lost the toss.
Together with Mohammad Rizwan (74) he shared a stand of 179 — Pakistan's highest for any wicket in an ODI against England — after adding with opener Imamul Haq (56).
Azam's innings was also the highest individual score in a 50-over ODI at Edgbaston with New Zealand's Glenn Turner scoring 171 in a 60-over World Cup match against East Africa in 1975 and England's Robin Smith making 167 against Australia in a 55-over match in 1993.
Fast bowler Brydon Carse dismissed both Azam and Rizwan before collecting some late wickets as Pakistan hit out for a return of 5-61.
Azam, the world's top-ranked ODI batsman, had been dismissed for nought and 19 by fast bowler Saqib Mahmood as England — who had to change their entire squad for this three-match campaign following a Covid-19 outbreak within their camp — went 2-0 up with commanding nine-wicket and 52-run wins at Cardiff and Lord's, respectively.
Pakistan were in the runs from the first ball, with Imam clipping Mahmood off his pads for four, after managing just one run in total in the first two games.
Mahmood, however, had Pakistan's other left-handed opener, Fakhar Zaman, well caught above his head by a leaping Zak Crawley at second slip for just six.
Azam spent 14 balls on nought and went to fifty in a relatively sedate 72 balls.
But so long as he stayed in there was every chance he would increase his scoring rate and so it proved with a cut boundary off Mahmood taking him to a hundred in just 104 balls including nine fours and two sixes.
And having gone past his previous highest ODI score of 125 not out, against the West Indies at Providence in 2017, he was dropped on 126 before going to 150 in 134 balls.
Not only did the 26-year-old Azam punish the loose ball, he also drove Carse through the covers for a rasping boundary.
Stokes, the most experienced member of the side, eventually brought himself on to bowl in ther 20th over only to be pulled for four by Azam to the delight of a large Pakistan contingent in the crowd.
Imam was bowled by a superb delivery from leg-spinner Matt Parkinson that pitched outside the left-hander's off stump and then turned sharply to bowl him between bat and pad.
Rizwan's fifty, off just 42 balls, however, gave Pakistan valuable impetus.
Azam was dropped on 126 when Carse failed to hold what would have been an excellent catch at midwicket following a powerful pull off Parkinson.
Azam cashed in, driving Carse over long-on for a majestic six.
Rizwan was caught behind down the legside off Carse before Azam holed out in the last over.
England: Phil Salt, Dawid Malan, Zak Crawley, James Vince, Ben Stokes (capt), John Simpson (wkt), Lewis Gregory, Craig Overton, Brydon Carse, Saqib Mahmood, Matt Parkinson
Pakistan: Fakhar Zaman, Imamul Haq, Babar Azam (capt), Mohammad Rizwan (wkt), Saud Shakeel, Sohaib Maqsood, Shadab Khan, Faheem Ashraf, Hasan Ali, Shaheen Shah Afridi, Haris Rauf
Umpires: David Millns (ENG), Richard Illingworth (ENG); TV umpire: Richard Kettleborough (ENG); Match referee: Chris Broad (ENG)