Islanders' captain Dinesh Chandimal was unbeaten on 155 off 372 balls.
Apart from Chandimal, Dimuth Karunaratne (93) and Niroshan Dickwella (83) also made useful contributions to the total.
The last three wickets were bagged by Mohammad Abbas, while Yasir Shah grabbed three wickets too in the first innings. Hasan Ali accounted for two batsmen, while Haris Sohail dismissed a batsman too.
At tea
Dinesh Chandimal smashed a brilliant unbeaten hundred to steer Sri Lanka to 403-7 at tea on the second day of the first Test against Pakistan in Abu Dhabi on Friday.
The Sri Lankan skipper was batting on a punishing 151 and with him Suranga Lakmal was four not out as Sri Lanka progressed from their overnight score of 227-4 with stubborn batting.
Chandimal added 134 for the fifth wicket with Niroshan Dickwella, who made a career-best 83, before frustrating Pakistan further with a 92-run stand for the sixth wicket with Dilruwan Perera.
Perera made 33 as Pakistan's spin-cum-pace attack had to toil hard for the only wicket of Dickwella in the first session.
The Chandimal-Dickwella stand 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.
Dickwella hit nine boundaries and a six during his rapid, 117-ball knock.
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.
Leg-spinner Yasir Shah has figures of 3-119 in 56 overs.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ