Ben Duckett's fourth Test century was overshadowed by Sajid Khan's spin bowling as England ended the second day of the second Test 239-6 in Multan. (More Cricket News)
England started confidently with the bat, but the loss of four wickets in three overs had the hosts in the ascendency at stumps, with Sajid ending the day 4-86.
Pakistan resumed at 259-5 but lost the wickets of Mohammad Rizwan (41), Salman Ali Agha (31) and Sajid (two) early on, with Brydon Carse and Jack Leach doing the damage.
Leach would end with figures of 4-114 for the first innings, claiming the dismissal of Noman Ali (32) as England were set a target of 366 to chase.
Zak Crawley (27) fell after 12 overs having had two huge let-offs before being caught by Rizwan, then Ollie Pope (29) fell to Sajid, who would later demolish the rest of England's top and middle order.
Sajid grabbed the wicket of Joe Root (34) before striking out Duckett, who had notched 114 runs from his 129 deliveries in a composed showing at the crease.
However, Sajid was not finished there. Harry Brook, England's star from the first Test, was bowled out for nine, while Stokes was given his marching orders by Noman Ali, as the tourists lost four important wickets in just 18 balls.
Carse (two) and Jamie Smith (12) were able to halt the onslaught late on, and they will start day three at the crease with England trailing by 127 runs.
Data Debrief: Duckett outshone by Sajid
Duckett's knock of 114 was his fourth Test century and his second in Pakistan, with 23% of his runs so far coming from sweeps.
Only one England player since 2006 (Joe Root versus Sri Lanka in 2018) has scored more of his first 100 runs in a specific Test innings with the sweep shot.
But his display was overshadowed by Sajid's showing with the ball in hand. His spin proved difficult to manage on the Multan surface, and Pakistan will be hoping that he can continue that form on Thursday.