Mohammad Yousuf completed his 20th Test century before bad light stopped play as Pakistan ended day two of the first Test in Lahore holding a 59-run first-innings lead over the West Indies.
Yousuf moved onto 107 not out as the Windies failed to take any wickets in either the afternoon or evening sessions, with the hosts 265 for four when play came to a premature end.
Shoaib Malik provided stout support for Yousuf at the other end, notching his fifth Test half-century. His unbeaten 61 came off 149 balls, including eight fours and one six.
Pakistan added 40 runs in the final session, Yousuf`s hundred coming in 179 balls with 13 boundaries as the 32-year-old became the third highest Test scorer for his country.
He survived a scare after reaching the milestone when Jerome Taylor passed up the chance of a caught and bowled. With three fielders around, the Jamaican called but misjudged the catch.
It was the second time the Windies had let Yousuf off the hook, with Daren Ganga's drop on 43 already having proved costly.
Mohammad Hafeez was also in the runs, scoring 57 before being trapped leg before wicket by a swinging delivery from Taylor. Hafeez had begun the day on 11 as Pakistan resumed on 39 for one.
However, captain Inzamam-ul-Haq - playing his first match since the Oval Test fiasco - was out for a duck.
The West Indies attack had their tails up early in the day, removing Younis Khan (11) after Pakistan had added just six runs to their overnight total.
Younis tried to pull a short ball from Fidel Edwards but succeeded only in finding the hands of Ramnaresh Sarwan at short mid-wicket.
Hafeez and Yousuf then built a partnership of 88, guiding Pakistan to 133 before Hafeez succumbed to Taylor.
Inzamam lasted just eight balls before being bowled by the spin of Dave Mohammed with the score on 140.