Colombo: Bangladesh, trailing by 106 runs, were 158-4 in their second innings at stumps on the third day of the second and final Test against Sri Lanka in Colombo on Monday.
Mominul Haque was unbeaten on 36 with skipper Mushfiqur Rahim seven not out.
Sri Lanka were bowled out for 346 in their first innings, in reply to Bangladesh's 240.
Kumar Sangakkara (139) and Dinesh Chandimal (102) were the main scorers for Sri Lanka, while off-spinner Sohag Gazi took three wickets for Bangladesh.
At tea, Bangladesh lost well-set Tamim Iqbal before reaching 93-1.
Tamim scored an impressive 59 and put on 91 for the opening wicket with Jahurul Islam (48) before he inside-edged paceman Shaminda Eranga's delivery on to the stumps.
Bangladesh now lead by 52 runs with only four wickets in hand.
Tamim, who hit left-arm spinner Rangana Herath over long-off for a six, also cracked four boundaries in his 12th half-century in 27 Tests.
Sri Lanka were earlier bowled out for 346 in their first innings in reply to Bangladesh's 240. They lost their remaining four wickets for 52 runs in 18.3 overs after resuming at 294-6.
Off-spinner Sohag Gazi finished with 3-111 off 39 overs, while pacemen Abul Hasan, Robiul Islam and Rubel Hossain each took two wickets.
Abul got a big wicket in the seventh over of the morning session when he removed Kumar Sangakkara (139), adjudged caught behind by the TV umpire after adding 12 runs to his overnight score of 127.
Sangakkara, who scored a century in each innings of the drawn first Test in Galle, cracked 11 fours in his third successive hundred, and the 33rd of his career.
Gazi then got two wickets as he bowled Herath for three and had Nuwan Kulasekara (22) caught by wicket-keeper Mushfiqur Rahim, who took his fifth catch of the innings.
Spinner Mohammad Mahmudullah ended the innings when he had Eranga (15) caught by Ashraful at the long-on boundary.
Brief scores
Bangladesh 240 and 158 for 4 (Tamim 59, Herath 3-45)
Sri Lanka 346 (Sangakkara 139, Chandimal 102)
Status Bangladesh lead by 52 runs