TORONTO - Joel Embiid had the ball with a couple of minutes to play and Philadelphia on a roll when Kawhi Leonard decided to help himself to the ball. The steal - one of Leonard's four on the night - turned into a running layup by Pascal Siakam and the Sixers never threatened again.

On a night Leonard scored 31 points, breaking a Raptors record by starting his Toronto career with six straight 20-plus point games, it was as much his defence that lifted Toronto to a 129-112 victory over Philadelphia on Tuesday.

“He can guard the ball, he can guard people coming off pin-downs, he can guard guys on the post,” coach Nick Nurse said of Leonard, who broke Rudy Gay's record. “But mostly, I think it's just his natural instinct for getting his hands on stuff. The ball's popping around and, boom, he comes out of there with it any variety of ways. Post feeds, cross-court passes, pocket passes.”

Jonas Valanciunas had 23 points off the bench, while Kyle Lowry had 20 points and 12 assists for the Raptors (7-1), who remain undefeated at home. Serge Ibaka chipped in with 20 points, while Pascal Siakam had 15 and a career-high 15 rebounds, and Danny Green finished with 10.

Joel Embiid led the Sixers (4-4) with 31 points.

Toronto and Philly were popular pre-season picks to contend in the Eastern Conference. But the Raptors, motivated by Monday night's loss at Milwaukee - their first of the season - and happy to have Leonard back in the lineup after he missed that game, dominated for most of the night.

Their activity on the defensive end smothered the Sixers.

“I think we had 18 deflections in the first half, which is a big, big number. I think we turned them over 14 times in the first half which is another big number,” Nurse said. “It's a little bit the way Kyle does it. When Kawhi's up and guarding and handsy and getting his hands on balls, it kind of spreads to the other guys. They feed off that a little bit.”

The Raptors led by 17 midway through the second quarter, and had stretched it to 112-103 to start the fourth.

A basket by Embiid pulled Philly to within nine points with 6:38 to play. But on the Sixers' next possession, Lowry swatted the ball away from Embiid, and Green connected on a three-pointer and the Raptors were back up by 12.

Embiid drained a three with 3:30 to play that pulled the Sixers to within six points. But a Leonard three-pointer 90 seconds later capped a 7-0 run that brought the capacity crowd to its feet and put Toronto up by 13 as “M-V-P!” chants rang out.

The Raptors had 13 steals on the night, forcing 23 Philly turnovers.

“I just think we were all over the place tonight,” Lowry said. “We were very active and honestly, Danny, Pascal, Kawhi, Serge . . . they did a great job just being everywhere and just saying active all over the floor. I think it was a very scrappy night defensively and those guys played unbelievable.”

Sixers coach Brett Brown called it “borderline impossible” to win with so many turnovers.

“You can't win with that volume of turnovers,” he said.

The victory was Toronto's 12th straight at home versus Philly.

The Raptors were coming off their first loss of the season, dropping an ugly 124-109 decision in Milwaukee the previous night. It marked the second game Leonard - who played just nine games last season in San Antonio due to injury - was held out for precautionary reasons.

“We are trying to be really smart with what we're doing,” Nurse said. “If somebody were to knock on the door and tell me he's not playing tonight, I'm going to go put somebody else in there and we're going to go fight to win. It's a long-term type of thing.”

Leonard headed upstairs to the weight room to lift weights after the win.

He briefly left the game in the second quarter Leonard after he was swatted in the eye by Robert Covington, but was back on the floor five minutes later.

Valanciunas had eight first-quarter points off the bench, including a couple of free throws after Embiid was assessed a flagrant foul for an elbow to the big Lithuanian's head. The Raptors led 35-26 to start the second.

A long Leonard jump shot with four minutes left in the second capped a 17-6 Raptors run that put Toronto up by 16 points. The Raptors would stretch their lead to 17 before heading to the locker-room at halftime up 67-53.

The Raptors aren't back at Scotiabank Arena until Nov. 10. They head out on their first extended road trip of the season, which takes them through Phoenix, Los Angeles to play the Lakers, Utah and Sacramento. They host the New York Knicks in their next home game.