Shanto struck his ninth Test hundred off just 129 balls with the help of 12 fours and two sixes to delight the home fans at the Sher-e-Bangla National Cricket Stadium.
The in-form batsman steadied the innings after Bangladesh were reduced to 31-2 inside 11 overs, before falling lbw to seamer Mohammad Abbas.
The left-handed pair of Shanto (101) and Mominul Haque put on 170 runs off 257 balls for the third wicket, the highest partnership for that wicket against Pakistan and the third highest overall for Bangladesh.
Mominul praised Shanto, saying it was among his best knocks.
"Shanto's innings is one of the best I have seen from him. He is in outstanding form," Mominul said.