Left-arm spinner Praveen Jayawickrama took six wickets on debut to dismiss Bangladesh for 251 and give Sri Lanka a commanding lead Saturday on day three of the second Test.
The 22-year-old Jayawickrama'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.
Jayawickrama, a replacement for injured Lasith Embuldeniya, has had a modest record in first class cricket, but impressed at Pallekele giving Sri Lanka a healthy 242-run first-innings lead.
He was backed by off-spinner Ramesh Mendis who took two wickets.
Sri Lanka, who declared earlier in the day on 493 for seven, did not enforce the follow-on and were 17 for two at stumps with two days' play remaining and a 259-run lead.
The tourists had got off to a solid start with the openers adding 98 runs for the first wicket.
Jayawickrama then claimed his maiden Test wicket when Saif Hassan was caught at gully for 25. Ramesh Mendis then accounted for Najmul Shanto for a duck in the next over.
A 52-run stand followed between Tamim and captain Mominul Haque before Jayawickrama broke the stand. Tamim's outside edge was grabbed by Lahiru Thirimanne at slips.
Mushfiqur Rahim and Mominul Haque were rebuilding the innings as Bangladesh reached 200 without trouble but in the last over before tea, Jayawickrama trapped Mushfiqur leg before wicket for 40.
In the final session, Bangladesh collapsed, losing six wickets for 27 runs.
Resuming from their overnight score of 469 for six, Sri Lanka declared after 3.3 overs having added 24 runs.
The declaration came 15 minutes into the morning session after Ramesh Mendis was dismissed to end a 111-run partnership with Niroshan Dickwella for the seventh wicket.
Taskin Ahmed picked up career best figures of four for 127.
Sri Lanka risk falling to their lowest world rankings position if they fail to beat Bangladesh in this second and final Test.
The first Test ended in a draw after a festival of runs with the two sides scoring 1,289 runs for the loss of just 17 wickets over the five days.