At stumps on the first day in Kandy, the 22-year-old left-hander’s unbeaten 126 had taken Bangladesh to a solid 302/2. He was aided by Tamim Iqbal, who scored 90 and captain Mominul Haque, who made 64.
The Tigers won the toss on Wednesday and chose to bat at the Pallekele International Cricket Stadium. The innings got off to a slightly rocky start when opener Saif Hassan was trapped lbw by Vishwa Fernando for a 6-ball duck.
But Tamim and Shanto steadied the ship, putting up a partnership of 144 in 225 balls.
Tamim lit up the morning session with some belligerent strokeplay in his 101-ball innings before he steered the ball into the waiting hands of Lahiru Thirimanne off Fernando.
Captain Mominul Haque then joined Shanto at the crease and made sure it was the left-hander’s day out there. The two put together a solid partnership of 150 at the end of play.
Bangladesh are scheduled to play two Tests during their tour of Sri Lanka. The second begins on Apr 29.