Mahela Jayawardene's men won by an innings and 234 runs at the Sinhalese Sports Club, bettering their previous highest victory of an innings and 196 runs against Bangladesh in 2002.
Lasith Malinga and Muttiah Muralitharan finished with four wickets each as Bangladesh, resuming their second innings at 233-5, were shot out for 254 within 30 minutes of the start of the fourth day's play.
The emphatic win, however, did not satisfy Jayawardene, who urged team-mates to improve further in the remaining two Tests.
"Everyone chipped in with the bat and the bowlers never gave up in what were tough conditions, bowling aggressively and creating opportunities," he said.
"Overall it was a brilliant performance but there are some areas where we can improve, including our consistency in all three departments of the game.
"The ground fielding was excellent but we dropped some chances and we have to work on that."
Sri Lanka have now won all their eight Test matches against Bangladesh, five of them by an innings.
The Sri Lankans have been so dominant against the Test minnows that they have never required a fifth day to secure victory. Four of the Tests have ended inside three days and the remaining four with a day to spare.
It was Bangladesh's 41st defeat in 47 matches since they gained Test status in 2000 with a lone win coming against struggling Zimbabwe. Five games have been drawn.
The tourists, who were bowled out for 89 in the first innings but batted bravely the second time to reach 227-3 at one stage on Wednesday, undid the good work by losing the last seven wickets for 27 runs.
Bangladesh's new captain Mohammad Ashraful admitted his side needed to bat better if they were to succeed in Test cricket.
"We need to show patience in Test cricket," said the 22-year-old, who was himself guilty of playing irresponsible lofted shots in both innings.
"We may not have done well in the first innings, but the top order responded very well in the second. We lose concentration at crucial moments of the game.
"We need to have the temperament and patience to bat longer in the five-day game."
Muralitharan, who took 5-15 in the first innings, now has 59 wickets in seven Tests against Bangladesh. He was adjudged the man of the match.
The 35-year-old's career tally stands at 683, just 25 away from equalling retired Australian leg-spinner Shane Warne's world record of 708 wickets.
The second Test starts at the P.Sara stadium in the Sri Lankan capital on Tuesday.
The final Test will be played in the hill resort of Kandy from July 3-7 and will be followed by three one-day internationals.