The 30-year-old dismissed West Indian tail-ender Miguel Cummins to complete 100 wickets in his 17th Test match -- the fastest Pakistani to the milestone -- on the fourth day of the second-ever day-night Test.
Pakistan, who scored 579-3 declared in their first innings, did not enforce the follow-on despite taking a 222-run lead and 23 more of the follow-on target of 380.
At tea Pakistan had lost two quick wickets and were 20-2 with Sami Aslam batting on 12 after Asad Shafiq was trapped leg-before by spinner Devendra Bishoo for five.
That leaves Pakistan with an overall lead of 242 with eight wickets intact and five sessions to take a lead in this three-match series.
It was a double blow for Pakistan after opener Azhar Ali was dismissed leg-before by paceman Shannon Gabriel for two.
Ali, who scored a career best 302 in first innings, was lucky to avoid a caught behind decision off Gabriel but was trapped leg-before the very next ball.
But the day belonged to Shah who wrapped up the West Indies innings in quick time and also reached a milestone.
England's right-arm medium-pacer George Lohmann reached 100 Test wickets in just 16 Test matches in 1896 which still is a world record in Test cricket's 140-year-old history.
Australia's Charlie Turner and Clarrie Grimmett and England's Sydney Barnes each got to the milestone in their 17th Test.
Shah, who made his debut at the same venue in October 2014, bettered off-spinner Saeed Ajmal who held the Pakistani record of fastest to 100 Tests wickets in 19 matches.
West Indies's overnight batsmen Shane Dorwich (32) and Jason Holder (20) both fell to Shah while Bishoo (17) fell to Mohammad Nawaz as West Indies could not fight for long.
Nawaz finished with 2-30 on debut and Wahab Riaz took 2-65.
The remaining two Tests will be played in Abu Dhabi (October 21-25) and third in Sharjah (October 30-November 3).