Sri Lanka amassed their joint fifth-highest total in Test cricket before taking three late wickets to leave Bangladesh with an uphill battle to save the game in Chittagong.
These have been two days of cricket that Bangladesh's bowlers will want to forget. As Sri Lanka mercilessly compiled 713/9 in Chittagong before declaring shortly after tea, Bangladesh were kept in the field for 199.3 overs, the second-longest innings in their history.
Spare a thought for the left-arm spinner Taiujul Islam, who alone sent down 67.3 overs, picking up figures of 4/219 for his toil. Then, when the visitors finally called a halt to the run-fest, they ripped out three top-order wickets to leave Bangladesh with a difficult task to save the game on the final day.
Roshen Silva (109) became the third centurion of Sri Lanka's innings when he brought up his maiden Test hundred in just his second match. The 29-year-old has had to wait a long time for international recognition but he has seized his chance, playing with the assuredness of a seasoned campaigner, albeit on a batsman's paradise of a track.
Roshen fell to Mehedi Hasan in the morning session but the captain Dinesh Chandimal (87) and wicket-keeper Niroshan Dickwella (62) piled more misery on the hosts. Dickwella in particular took a liking to Bangladesh's wilting attack, hitting nine boundaries in his 61-ball innings before edging behind to give Mehedi his second victim.
Dilruwan Perera (32) and Rangana Herath (24) ensured Sri Lanka went beyond 700, eventually declaring after achieving their joint fifth-highest total in Test cricket.
Bangladesh's second innings started in a similar vein, with the batsmen very much on top. Tamim Iqbal (41) and Imrul Kayes (19) put on 52 in 15 overs before the dismissal of the latter began a passage of play which saw three wickets fall for 29 runs in 11.5 overs. It could yet prove to be the decisive period of this match.
Kayes will look back with disappointment at the stroke which brought about his downfall, attempting a ramp shot off the off-spinner Perera but only succeeding in toe-ending a catch to Chandimal at square leg. The loss of Tamim soon after, edging behind off the left-arm wrist-spinner Lakshan Sandakan, came as a bitter blow, and the unfortunate dismissal of Mushfiqur Rahim to Herath for just 2, the ball bouncing off his boot and into the hands of Kusal Mendis at silly point, rounded off a miserable day for the hosts.
They will hope for better luck tomorrow as they try to avoid going 1-0 down in the two-Test series.