LeBron James returned from a five-game injury absence to score 21 points on Friday as the Los Angeles Lakers beat the Spurs 105-94 in San Antonio for their first road win of the NBA season.

James pulled down eight rebounds and handed out five assists with three steals and a blocked shot in 33 minutes on the floor, with Lakers coach Darvin Ham saying the four-time NBA champion looked "phenomenal" after missing five games with a groin injury.

The Boston Celtics, led by 30 points from Jayson Tatum, downed the red-hot Sacramento Kings 122-104 to improve their league-leading record to 15-4.

On a busy night in the NBA after a day off for the US Thanksgiving holiday, the Milwaukee Bucks rallied for a 117-102 win over the Cleveland Cavaliers in a battle for second place in the Eastern Conference.

In San Antonio, all eyes were on James, who is on track -- if he stays healthy -- to surpass Kareem Abdul-Jabbar as the league's all-time leading scorer as early as February.

He scored the first basket of the contest as the Lakers quickly powered to a double-digit lead.

They led 59-41 at halftime, but the young Spurs team had sliced the deficit to 81-78 by early in the fourth.

The Lakers responded, James's dunk taking the lead back to 10 points.

"I felt pretty good," James said. "I've been non-stop around the clock (getting treatment) for the last couple of weeks to get back on the floor."

Anthony Davis scored 11 of his 25 points in the final period, finishing with a double-double that also included 15 rebounds.

Ham was delighted with what he saw from his superstar, James's nine turnovers notwithstanding.

"He was moving great," Ham said. "Obviously there's going to be some rust there... but I thought he looked great."

James said he expected to be back on the floor when the Spurs hosted the Lakers again Saturday -- and he expects to see improvement.

"My rhythm, my timing was a little off on a few of my passes," he said. "But I'll be a lot better as the games go on."

In Boston, the Celtics survived a sloppy third quarter to down the Kings, whose eight wins in November included a seven-game winning streak that ended with a loss to Atlanta on Wednesday.

Boston led by as many as 16 early in the second quarter, but the Kings used a 40-point second period to cut the deficit to two points at halftime.

The Kings kept pushing in a third quarter that featured four lead changes. The game was tied 84-84 when Boston reserve Payton Pritchard drained a three-pointer and Tatum fed Luke Kornet for an alley-oop dunk. Tatum then came up with a steal and a basket, followed by a rebound and a three-pointer to give the Celtics a 94-84 lead going into the fourth.

- Antetokounmpo dominates -

In Milwaukee, Giannis Antetokounmpo scored 38 points to take the Bucks past the Cavaliers, who led by 16 in the first half but were out-scored 35-10 in the third quarter as the hosts turned things around.

The Phoenix Suns maintained their slim lead in the Western Conference with a 108-102 victory over the Detroit Pistons.

Deandre Ayton scored 28 points and grabbed 12 rebounds and Devin Booker added 21 points in the Suns' third straight victory.

The reigning champion Golden State Warriors rode a hot start to a 129-118 victory over the Utah Jazz, improving to 10-10 in what has been a rocky season so far.

It was a battle of the top two picks in the 2019 draft in New Orleans, where Ja Morant scored 23 points with four rebounds and 11 assists to lead the Memphis Grizzlies to a 132-111 victory over Zion Williamson's Pelicans.

Williamson scored 14 points with five rebounds and four assists, but it was a more complete effort from the Grizzlies -- who had double-digit contributions from Dillon Brooks, Jaren Jackson, Steven Adams, Brandon Clarke and David Roddy.

In Charlotte, Kelly Oubre scored 28 points and Terry Rozier added 22 as the Hornets held off Minnesota 110-108 to snap the Timberwolves' five-game winning streak.

Oklahoma City and Portland both notched overtime victories, with the Thunder beating the Chicago Bulls 119-123 and the Trail Blazers edging the New York Knicks 132-129.