England took a 2-1 lead with one Test to play in the series as their bowlers ripped through Pakistan to seal a 141-run victory on day five at Edgbaston.
The tourists were bowled out for 201 on Sunday, meaning England can clinch a series victory with a draw in the finale at The Oval, which starts on Thursday.
Pakistan had been 79-1 but a cluster of four wickets falling for just one run in the afternoon proved pivotal as the Pakistan middle-order were all out cheaply, justifying Alastair Cook's decision to delay his team's declaration.
England had batted on for four overs at the start of the day, Jonny Bairstow (83) the only man out, lbw to Sohail Khan, with Moeen Ali (86 not out) clattering Yasir Shah (2-172) for successive sixes before Cook called him and Chris Woakes (3 not out) in on 445-6 with a lead of 342.
The hosts earned an early breakthrough when Mohammad Hafeez helped a short Stuart Broad (2-24) ball to fine leg to give his wicket away for just two runs.
Azhar Ali battled hard for his 38 but when he was caught at gully by Cook off the bowling of Moeen (2-49), it sparked a dramatic collapse by the visitors, who would have gone top of the ICC Test rankings with a series victory.
Resistance came from Hafeez's opening partner Sami Aslam, who hit 82 in the first innings, but when he misjudged a straight Steven Finn (2-38) ball to be bowled for 70, Pakistan were on the ropes.
Finn had Pakistan skipper Misbah-ul-Haq caught behind for 10 and, with the team's other veteran, Younus Khan, removed by James Anderson (2-31) for four, England's victory soon appeared inevitable.
All of England's bowlers played a part and Woakes (2-53) removed Asad Shafiq and Sarfraz Ahmed, both without scoring, as England turned the screw before the tea interval, while Shah's LBW dismissal was overturned on review.
The procession continued in the first over after the break when Anderson removed Shah (7), the spinner caught by Alex Hales, then Woakes caught Mohammad Amir (16) off Broad.
But Sohail and Rahat Ali frustrated England, the tailenders posting a 50-run partnership for the last wicket before Moeen capped a fine all-round performance with the winning wicket.
Moeen, who earned the man-of-the-match award for his exploits with the bat, took a tough caught-and-bowled chance to dismiss Sohail and leave Pakistan needing triumph in the fourth Test to avoid a series defeat.