TORONTO -- Kyle Lowry scored 24 and added three assists as the Toronto Raptors held on for an 86-83 win over the San Antonio Spurs on Friday.

DeMar DeRozan had 21 points, six assists and seven rebounds for Toronto (31-13), which has only lost at Air Canada Centre three times this season. Centre Jonas Valanciunas had a double-double with 15 points and 11 rebounds.

LaMarcus Aldridge led San Antonio (30-17) with 17 points and 14 rebounds. Most of his scoring came in the third quarter as the Spurs mounted a comeback.

The sellout crowd of 19,800 gave DeRozan a standing ovation in the first quarter when it was announced that he would be competing in his fourth NBA All-Star Game, his second straight year as a starter for the Eastern Conference.

Fred VanVleet, who bruised his knee in Monday's 117-111 loss in Philadelphia, did not play for the second game in a row.

His absence as a third guard behind Lowry and DeRozan was felt, forcing the Raptors' two stars to play more minutes against a tough San Antonio defence.

With both teams trading leads early in the game, Toronto held a 63-60 lead after three quarters.

Bryn Forbes drained a three-pointer with 6:53 to go in the game to make it 70-69. DeRozan hit a turnaround jump shot and both teams missed baskets, before Lowry carried it up the court and shook his defender with a pivot move for a jump shot, forcing San Antonio to call a timeout.

Aldridge's step-back jumper again cut into Toronto's lead, but Lowry responded with two made free throws and after a Raptors timeout Valanciunas sank a hook shot. DeRozan brought the crowd to its feet again with a layup for an 80-71 lead.

Pau Gasol made one of his two free throws, and Lowry passed the ball out of bounds just before the two minute warning. Gasol scored on the next possession but DeRozan came right back with a 19-foot jump shot.

Dejounte Murray replied for the Spurs, but on the inbound DeRozan settled the ball down and passed to Lowry who sank another jumper to make it 84-76 and force a San Antonio timeout with 30.9 seconds left to play.

Aldridge missed a three-pointer on the next possession but Murray tipped in the rebound with 18.8 seconds left to play. Valanciunas blocked Gasol's drive to the net, earning a foul on the play. The veteran Spurs forward sank both free throws and on the ensuing inbound DeRozan took a hard foul. He made both free throws with fans chanting "M-V-P!" between attempts.

Forbes's 30-foot three-pointer quieted the crowd and, again, DeRozan was fouled on the inbound. He missed both free throws but the Spurs couldn't get off a final shot before time expired.

Although Toronto opened the first with three-pointers from Lowry and Valanciunas, the Raptors struggled to find their rhythm, with miscommunications on offence and defence. At one point the Spurs held a 16-8 advantage, but Toronto's reserves came off the bench and brought the Raptors back into it to cut the Spurs lead to 18-17 after 12 minutes.

A three-pointer by Lowry with 2:34 left in the second gave Toronto a 40-37 lead. A Valanciunas layup, followed by a defensive stop by the Raptors, and a buzzer-beating two-pointer by DeRozan gave them a 44-37 lead at half.

Toronto opened the third with an 11-4 run to pull away from San Antonio, but Aldridge and the Spurs didn't let up, cutting that lead down to 61-60 with 1:09 left in the quarter. Aldridge led both teams with 12 points in the quarter as San Antonio outscored the Raptors 23-19. CJ Miles stole the ball for a breakaway dunk to make it 63-60 for Toronto at the end of three.