With seven wickets in the hutch and the pitch beginning to show signs of wear and tear, the tourists will fancy their chances of pulling off a rare Test victory overseas and pocketing some precious World Test Championship points in the process.
Having eked out a slender first-innings lead of 10 runs, Bangladesh batted with the sort of positive intent on Friday that suggests they were not content to merely survive.
Shadman Islam set the tone, first putting on 24 for the opening wicket with Anamul Haque and then 36 more with Mominul Haque.
But it was his third-wicket partnership — a sturdy 68-run stand with captain Najmul Hossain Shanto — that truly swung momentum Bangladesh's way.
Shadman's knock of 76 was fashioned with composure and clarity, the left-hander repelling spin and pace alike with soft hands and a watchful eye. He looked set for three figures before Milan Rathnayake trapped him in front, but by then the groundwork had been laid.
Mushfiqur Rahim together with his skipper — both centurions in the first innings — steadied the ship and nudged the lead beyond 150, blunting Sri Lanka's hopes of a late-evening flurry.
Earlier in the day, it was off-spinner Nayeem Hasan who turned the tide for the tourists in Sri Lanka's first innings.
With the hosts perched on a commanding 6-470 and threatening to surge ahead, Nayeem swooped in.
His five-wicket haul — his fourth in Test cricket — helped bowl Sri Lanka out for 485, a lead of merely 10.
The prized wicket was Kamindu Mendis, who was coasting on 87 — scarcely playing a false stroke — when Nayeem found extra bounce and subtle turn to kiss the outside edge, Litton Das gobbling up the catch with glee.
"My variation was the key," Nayeem said. "Main thing is I tried to bowl at one area and keep changing the seam position. When you do that over a long period of time, your discipline pays off."
Hasan Mahmud proved a perfect foil, bowling with control and reverse swing under the afternoon sun, finishing with three wickets and keeping the pressure on from the other end.