Sri Lanka took three late wickets to boost their hopes of winning the first Test against Bangladesh after piling on the runs on day four in Chittagong. On the previous day, the visitors declared their first innings at 713-9 in the final session.
Dhananjaya scored an unbeaten century as Sri Lanka batted out of a draw in the third Test against India in November and reached three figures for the fourth time in the longest format to frustrate the Tigers.
Wicketkeeper-batsman Niroshan Dickwella was accompanying him at the crease with 29 not out.
Kusal brought up his fourth Test hundred in a wicketless opening session, Sri Lanka moving on to 295-1 at lunch with no sign of spin or movement off the seam.More news: Pazzini earns Levante a draw against struggling Madrid
More news: West Ham sack director accused of racism
More news: Trump speaks to Japan's PM, S Korea's President about North Korea
Earlier, host Bangladesh had posted 513 runs in their first innings.
Mendis, who faced 327 balls for his career best innings as he turned 23, added another 107 runs with Roshen Silva for the third wicket before he gave a catch to Mushfiqur Rahim at midwicket. Mendis' role was more of an anchor as de Silva looked destructive throughout his innings, hitting 21 fours and a six so far.
Karunaratne edged Mehidy to Imrul Kayes at first slip before Sri Lanka had a run on the board, but the wicket-taker failed to hold on to a chance to see the back of Kusal after Mustafizur Rahman drew an edge. Sri Lanka's wily left-arm spinner Rangana Herath will definitely bowl most of the overs alongside an accurate right-arm pace bowler Suranga Lakmal and slow left-arm chinaman Lakshn Sandakan.
Kusal made 194 against the Tigers a year ago and was on his way again when on the verge of a double-hundred, Mushfiqur Rahim taking a fine catch running back from midwicket when the opener tried to dispatch Taijul Islam to the boundary, ending a stand of 107 with Roshin. "Rough can sometimes make a bad ball into a good one".