Leg-spinner Yasir Shah dismantled New Zealand with a career best eight wicket haul as Pakistan sniffed victory on the third day of the second Test in Dubai.
The 32-year-old grabbed 8-41 in 12.3 overs which skittled New Zealand to 90 all out in just 35.3 overs before taking two more wickets as New Zealand -- following on -- were 131-2 at close in their second innings.
Yasir dismissed opener Jeet Raval for two before accounting for the dangerous Kane Williamson caught behind for 30 to complete his third ten-wicket haul in the match.
Tom Latham (44) and Ross Taylor (49) were at the crease at close as New Zealand need another 197 runs to avoid an innings defeat while Pakistan can level the series by taking another eight wickets with still two days of play left.
Rain had delayed the start of the third day by an hour but when the action started, Yasir was bowling to his best ability on a turning Dubai track.
Yasir dismissed Latham, Taylor and Henry Nicholls in one over, sparking a collapse during which New Zealand lost all their ten wickets for just 40 runs after reaching 50 without any loss.
Yasir's bowling figures -- his 15th five-wicket haul -- beat his previous best of 7-76 against Sri Lanka at Galle in 2015 and also the best against New Zealand.
New Zealand, resuming at 24 without loss, lost Raval in an unlikely way as he tried to reverse sweep Yasir but the ball deflected off his bat to his thigh and hit the stumps.
Soon Yasir had Latham caught at short-leg by Imam-ul-Haq off the first ball of his ninth over.
Two balls later he bowled experienced Taylor with a beautiful delivery that drifted in and turned away sharply to beat the forward push by the batsman.
Off his fifth ball Yasir bowled Nicholls through the gap between bat and pad.
Six New Zealand batsmen fell without scoring, making it the fifth occasion in a Test when six batsmen failed to score in an innings.
Williamson remained unbeaten on 28, watching wickets fell like nine pins at the other end.
With Sodhi's wicket Yasir also completed 100 wickets in 16 Tests in United Arab Emirates (Dubai, Sharjah and Abu Dhabi).