The seven-Test old Shanto faced 288 deliveries for his unbeaten 126, hitting 14 fours and a six
Nazmul Hossain Shanto struck his maiden Test century to take Bangladesh to a commanding position against Sri Lanka at the end of the opening day's play of the first Test at Pallekele International Stadium in Kandy Wednesday.
At stumps, the visitors had posted 302 for the loss of two wickets, Shanto remaining unbeaten on 126 alongside captain Mominul Haque (64*).
The seven-Test old Shanto faced 288 deliveries, hitting 14 fours and a six, and shared 150 runs with Mominul for the unbroken third wicket stand, Bangladesh's second highest third wicket partnership against Sri Lanka.
Mominul at the other end registered his 14th Test half-century as he played 150 deliveries and smashed half a dozen boundaries.
Tamim Iqbal earlier missed out on a well-deserved 10th Test ton when he departed for an entertaining 101-ball 90, featuring 15 fours.
The Bangladesh ODI captain added 144 for the second wicket with Shanto after the early departure of Saif Hasan (nought).
Bangladesh had won the toss and elected to bat against Sri Lanka, hunting their first Test win in more than a year.
The Lankans left out former captain Dinesh Chandimal as the experienced Angelo Mathews returned to the side having missed a recent series in the West Indies.
Both teams packed their squads with fast bowling on a greenish wicket.
Sri Lanka have not won a Test since January last year, also against Bangladesh.
Since then, they have lost four and drawn three.
Bangladesh are searching for their first overseas Test win in four years.