CLEVELAND - LeBron James scored 35 points and added 17 assists, his last setting up a late a 3-pointer by Kevin Love, and the undermanned Cleveland Cavaliers ended Toronto's nine-game road winning streak with a 132-129 victory over the Eastern Conference-leading Raptors on Wednesday night.

The Cavs were missing five rotational players and coach Tyronn Lue, who missed his second straight game because of health reasons.

But they had James, who earlier in the day said, "I'll be available, so we got a chance."

James didn't have a turnover in 40 minutes and he made three free throws in the final 7.8 seconds. He missed one with 3.9 seconds left, giving Toronto a final shot, but DeMar DeRozan's 3-pointer -- contested by James -- was wide left. DeRozan and Toronto coaches complained the All-Star was fouled to no avail.

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. But that was before Cleveland shook up its roster with four trades designed to get back to the NBA Finals. 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.