Chandimal was unbeaten on 109 at lunch and with him Dilruwan Perera was four not out after Sri Lanka resumed from their overnight score of 227-4.
Chandimal and Niroshan Dickwella, who made a career-best 83, frustrated Pakistan's pace-cum-spin attack on an unresponsive Sheikh Zayed Stadium pitch.
Their stand of 134 was only broken in the 22nd over of the day when Dickwella played on to fast bowler Hasan Ali, spurning a good chance to post his maiden hundred.
Chandimal reached his ninth Test century -- his first in four Tests as captain, and first against Pakistan -- by driving fast bowler Mohammad Amir through the covers for his 11th boundary.
It took him 383 minutes to reach the three-figure mark, ably lifting Sri Lanka from 61-3 when he came on to bat on Thursday.
Paceman Hasan and Shah have two wickets apiece.