Kawhi Leonard and Pascal Siakam scored 30 points each as the Toronto Raptors used a balanced attack to outduel the Milwaukee Bucks, 123-116, in a battle of the top two NBA teams.

Leonard was back to his old self yesterday following an emotional return to San Antonio on Thursday to face his former team, who bottled him up and routed the Raptors 125-107.

But he got plenty of help from a strong supporting cast as Toronto seized command in the second and third quarters and then survived a Milwaukee rally in the fourth.

Siakam finished with a career-high 30, Serge Ibaka added 25 points and nine rebounds, Fred VanVleet had 21 points, and Danny Green 12 points and nine rebounds as the Raptors beat the Bucks for the first time this season.

Giannis Antetokounmpo had 43 points and 18 rebounds for Milwaukee, who came into the contest on a five-game winning streak. Malcolm Brogdon added 15 points, and Khris Middleton and Eric Bledsoe each had 14.

"We came out with a pass-first mindset and to take open shots. It worked out, all of us had 20 plus," Leonard said.

Elsewhere, Stephen Curry scored 42 points and finished with 10 three pointers as the Golden State Warriors stormed back to the beat the Sacramento Kings 127-123.

The teams combined to make 41 three-pointers, breaking the record for the most threes in a contest.

The previous record of 40 three-pointers was set last February in a game between the Minnesota Timberwolves (19) and the Cleveland Cavaliers (21).

Golden State, who blew a 20-point lead and lost 135-134 in overtime to Houston on Thursday, had another big lead disappear in the third quarter Saturday -- but they managed to regroup and rally past the Kings in the fourth.

Kevin Durant added 29 points, nine assists and five rebounds, and Klay Thompson scored 20 points to help the Warriors complete a three-game sweep of the season series.

In Portland, Jusuf Nurkic had 25 points and 15 rebounds, and the Portland Trail Blazers snapped James Harden's 40-point streak with a 110-101 win over the Houston Rockets.

Harden finished with 38 points, falling just short of his sixth straight game with 40 or more.

Portland was the last team to hold Harden under 30 points when he had 29 in Houston's 111-104 home victory on December 11.*AFP