Sri Lanka cruised to an unassailable 2-0 lead in the three-match series after Bangladesh's batsmen continued their disappointing form by being bowled out for 137 in 46.5 overs.
Sri Lanka briefly looked vulnerable on 79 for four after a spirited display from the tourists' bowlers, but Chamara Silva (36) guided the hosts home with 18.5 overs to spare.
Jayasuriya claimed four wickets for 31 runs from 9.5 overs to become the ninth player in ODI history to take 300 wickets.
The 38-year-old, who had scored 12,084 runs in 396 matches prior to this one, is the only player to have scored more than 10,000 runs and taken 300 wickets.
Jayasuriya was assisted by paceman Lasith Malinga, who ripped through the Bangladesh top order with the new ball after Sri Lanka had chosen to bowl in overcast conditions.
Bowling with great pace, Malinga had Shariar Nafees (six) caught at slip, bowled Tamin Iqbal (four) with a yorker and then dismissed Mushfiqur Rahim for a duck when wicket-keeper Kumar Sangakkara took a brilliant one-handed catch.
Bangladesh had slumped to 13 for 3, a position from which they were never really able to recover. Malinga finished with three for 22 from nine overs.
Middle order batsman Aftab Ahmed, however, provided some resistance with 47 from 85 balls including two boundaries.
Ahmed added 61 for the fifth wicket with skipper Mohammad Ashraful, who scored 29, the pair successfully milking the spinners after the quick bowlers were removed from the attack.
But Jayasuriya triggered the final collapse as he snared Ashraful and then mopped up the lower order.
Upul Tharanga gave Sri Lanka a solid start with 28 from 25 deliveries before Bangladesh fought back with the ball.
Shahadat Hossain surprised Tharanga with some extra lift and left-armer Syed Rasel (2 for 39) snared the key scalps of Kumar Sangakkara and Mahela Jayawardene.
Spinner Abdur Razzaq had Jayasuriya caught at point for 24 to give Bangladesh a ray of hope before Silva and Tillakaratne Dilshan (20 not out) added 57 for the fifth wicket.