The 28-year-old right-hander drove paceman Mohammad Abbas to cover boundary for his 15th boundary to complete his sixth Test hundred.
Rawalpindi: Middle-order batsman Dhananjaya de Silva completed his century on the fifth and final day against Pakistan in Rawalpindi on Sunday, first Test in the country since 2009 shooting.
The 28-year-old right-hander drove paceman Mohammad Abbas to cover boundary for his 15th boundary to complete his sixth Test hundred in his 28th Test.
Sri Lanka, who had won the toss and batted, declared their first innings at 308-6 after 20 minutes of batting on day five as the rain-affected Test is set to end in a draw after almost three days of play were lost.
De Silva remained unbeaten on 102 after 241 minutes of batting, having come at the score of 127-4 on Thursday. He hit 15 boundaries. Dilruwan Perera remained unbeaten on 16.
Abny hopes of a result in Pakistan's historic Test have been dashed by rain and bad light which ended the first day's play after 68.1 overs.
Only 18.2 overs were possible on day two, 5.2 on the third and the fourth day's play was abandoned without a ball being bowled.
The pick of the Pakistan bowlers were 16-year-old pace bowler Naseem Shah who took 2-92 and Shaheen Shah Afridi with 2-58.
The Test is the first in Pakistan since a militant attack on the Sri Lankan team bus killed eight people in March 2009, leading to the suspension of international cricket in the country as foreign teams refused to visit over security fears.
The second Test is in Karachi from December 19.