In reply to Sri Lanka's 338, Bangladesh scored 467, thus taking a lead of 129 runs, thanks to 116 from Shakib and a 75-run knock from Mosaddek Hossain Saikat.
Hossain, playing on debut, was stumped off Rangana Herath, but not before impressing all those present in what is Bangladesh's 100 Test.
Apart from these two, Soumya Sarkar (61), Mushfiqur Rahim (52) and Tamim Iqbal (49) were the other notable contributors.
For the hosts, Herath and Lakshan Sandakan were the pick of the bowlers as they both picked four-four wickets each.
At Stumps on Day 3, Sri Lanka were 54-0 and they still trail by 75 runs. Opener Upul Tharanga and Dimuth Karunaratne were batting at the crease on 25* respectively.
The hosts had won the first Test in Galle by 259 runs.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)