Thompson scored 29 points and seized 17 rebounds, both of those numbers being career highs. The Cavaliers led by seven entering the fourth quarter and then scored the first eight points of the period.
Alonzo Gee tacked on 16 points and 10 rebounds for Cleveland, which had not won since defeating Washington on March 12.
Boston lost for the eighth time in 11 games and are only 2 1/2 games in front of Milwaukee for the seventh spot in the Eastern Conference playoff race. The team that finishes eighth will have to take on Miami in the first round of the playoffs.