LeBron James scored 35 points and added 17 assists, his last setting up a late a 3-pointer by Kevin Love, and the Cavaliers ended Toronto's nine-game road winning streak with a 132-129 victory over the Eastern Conference-leading Raptors.
The Cavs were missing five players and coach Tyronn Lue, who missed his second straight game because of health reasons.
Love, playing his second game after missing 21 games with a broken left hand, finished with 23 points and 12 rebounds and George Hill had 22 on 10-of-11 shooting for the Cavs, who were blown out by 34 points against Toronto in January.
The Cavs are third in the East and would need a collapse by second-place Boston to improve on that position with 11 games remaining.
Kyle Lowry scored 24 and DeRozan had 21 for the Raptors, who scored 79 points in the first half and were in control in the third quarter before James brought Cleveland back.