Avery Bradley finished with 16 points and eight rebounds as the Celtics won their third consecutive game.
Boston had what had been an eight-point lead at the start of the fourth quarter cut to a point. But the Celtics responded with a 10-4 run to get the separation they needed to close it out.
Toronto had a four-game winning streak snapped and fell 2 1/2 games behind Cleveland for the best record in the Eastern Conference.
Toronto also played without forward Patrick Patterson, who missed his second straight game with a sore left ankle. The Celtics remained without starting forward Jae Crowder as he recovers from a right ankle sprain.
Toronto trailed 69-58 late in the third quarter before using a 10-0 run to get back into the game. The Celtics missed eight straight shots during the run.
But Boston responded with its 10-4 spurt, getting its lead back up to 79-72.
The first half was tight throughout, with 10 lead changes and neither team holding more than a three-point lead.
The Raptors stayed in the game despite shooting under 40 percent, and getting just four second-chance points.
Raptors: Shot just 34 percent from the field (31 of 89). …Was 6 of 22 from the 3-point line. ... Raptors coach Dwane Casey said before the game that he won't hesitate to rest players down the stretch to keep them fresh for the playoffs, even though Toronto is right behind Cleveland for the No. 1 seed in the East.
Celtics: Thomas has scored 20 or more points in 11 straight games. … Boston has won 16 of 18 at home. … Crowder missed his sixth straight game.
Raptors: Visit Houston on Friday.
Celtics: Visit Phoenix on Saturday.