Set a target of 339 runs, a collapse-prone Bangladesh were all out for 123 in 29.3 overs in their second innings in the second session of the third day, without offering much of a challenge.
Dananjaya finished with 5-24 to take his match haul to eight wickets while experienced Rangana Herath claimed 4-49.
Sri Lanka bowled out Bangladesh for 110 runs in the first innings to take a 112-run lead after they made 222 runs in their opening innings.
Roshen Silva remained unbeaten on 70, adding 48 runs with fellow overnight batsman Suranga Lakmal for the ninth wicket to extend their lead on a difficult pitch at the Sher-e-Bangla National Stadium.
More From This Section
Left-arm spinner Taijul Islam bowled Lakmal for 21 to end the partnership before he trapped Herath leg-before off the next ball to wrap up the Sri Lanka innings.
Taijul finished with 4-76 taking his tally to eight wickets in the match but Bangladesh were always in the back foot once they started their second innings on a massively turning wicket.
Herath got rid of Imrul Kayes before the lunch break as wicketkeeper Niroshan Dickwella took a catch, just a ball after he hit the left-arm spinner for a six.
Herath added Mominul Haque (33) and Mushfiqur Rahim (25) to after the lunch break before Dananjaya stepped on to the scene and did the rest.
Silva, who also scored 56 runs in the first innings, was man of the match.
The first Test ended in a draw in Chittagong.