Chittagong: Sri Lanka spinners led by Rangana Herath took three crucial wickets late in day four to leave Bangladesh with an uphill task of saving the opening Test in Chittagong on Saturday.
Bangladesh reached 81-3 at stumps, still needing 119 to make Sri Lanka bat again.
The visitors declared their first innings at 713-9 in the final session.
Off-spinner Dilruwan Perera dismissed Imrul Kayes for 19 before left-arm unorthodox bowler Lakshan Sandakan got Tamim Iqbal caught behind for 41.
Herath then removed Mushfiqur Rahim for two with his left-arm spin in the last over of the day.
Mominul Haque — 18 not out — was at the crease when the players walked back after another run-filled day.
Sri Lanka declared their innings in the third over into the final session with a lead of 200 runs in response to Bangladesh's first innings total of 513.
Left-arm spinner Taijul Islam, who returned figures of 4 -219, took two wickets off his successive overs to wrap up the Sri Lankan innnings.
Taijul got the all-important wicket of skipper Dinesh Chandimal for 87 before off-spinner Mehedi Hasan removed Niroshan Dickwella for 62 to slow down the Sri Lankan progress.
Debutant left-arm spinner Sunzamul Islam got his maiden Test wicket, trapping Dilruwan Perera leg-before for 32.
Roshen Silva joined the run fest in the morning session to post his maiden Test century after Sri Lanka resumed on 504-3.
He made 109 off 230 balls before becoming the first batsman dismissed on the day.
Silva was Sri Lanka's third century maker of the innings after Kusal Mendis and Dhananjaya de Silva, who made 196 and 173 runs respectively.
Mehedi ended Silva's impressive innings when the right- hander edged a low delivery to wicketkeeper Liton Das.
Silva shared a 135-run stand with Chandimal for the fourth wicket and hit six fours and a six.
Find latest and upcoming tech gadgets online on Tech2 Gadgets. Get technology news, gadgets reviews & ratings. Popular gadgets including laptop, tablet and mobile specifications, features, prices, comparison.
Karunaratne joins an elite club of 10 Sri Lankan players who have scored over 5,000 Test runs with his haul now standing at 5,110.
The 22-year-old's six for 92 bettered Upul Chandana's record of six for 179 in 1999 when he won his first cap against Pakistan in Dhaka.
Catch the live scores and updates from the second Test between Sri Lanka and Bangladesh here