TORONTO -- DeMar DeRozan may as well have been playing the role of three men on Wednesday, pouring in 29 points to lift the Toronto Raptors to a 107-103 victory over the Houston Rockets.

The Raptors were missing starters Kyle Lowry and Amir Johnson, but with seven games to go in the regular-season and every game having implications for post-season positioning DeRozan and Co. weren't about to let this game slip away.

Jonas Valanciunas and Greivis Vasquez added 15 points apiece, and Terrence Ross finished with 14 for the Raptors (43-32).

James Harden scored 26 points to top the Rockets (49-25), who were missing Dwight Howard (ankle) for the third consecutive game. Chandler Parsons added 20.

Houston, which has now dropped seven straight decisions in Toronto, was coming off a 105-96 loss the previous night at Brooklyn, and arrived in Toronto at 3 a.m. Wednesday.

The Raptors led by as much as 20 points in the third against the fourth-place team in the mighty Western Conference. But they allowed the Rockets to pull within 90-80 heading into the fourth and it was in the final 12 minutes that the Raptors really felt the absence of Lowry and Johnson -- not only two of the team's top contributors but arguably its two hardest workers.

The Rockets pulled within two points with 8:45 to play but that was as close as the visitors would get, and when a wide-open Ross drained a three-pointer with four minutes to play it brought the crowd to its feet and gave Toronto a six-point lead.

There were some tense moments as Houston showed some life late. Jeremy Lin drained a three-pointer to cut Toronto's lead to three points with nine seconds left, but a free throw by Vasquez sealed the Raptors' victory.

Lowry missed the game with a sore and swollen left knee, the product of a hard knee-on-knee collision with LeBron James in the Raptors' 93-83 loss to Miami two nights earlier. His X-rays were negative, so there was no structural damage.

Raptors coach Dwane Casey said sitting Lowry wasn't a matter of rest -- Wednesday's game was one the coach really wanted to win.

"There's a pride factor, you want to win, you want to win a division, you want to win and try and get home court," Casey said pre-game. "We're in position, so there's no use of letting off the pedal now. Every game for me is desperate.

"But it's not live or die or anything like that, we're not going to risk a kid's health to try to do that."

Lowry is averaging 17.4 points, 7.6 assists and 4.8 rebounds.

Johnson, who's averaging 10.8 points and 6.8 boards, started the game but played just three minutes before heading to the dressing room with a sore right ankle. The hard-working forward has long battled bad ankles, but normally plays through them. The fact he left the game is worrisome.

There are seven games to go with the Raptors battling for home court in the playoffs and a favourable opponent. The good news is Wednesday's game was the Raptors' last against a Western Conference opponent. And of the remaining games, Toronto plays last-place Milwaukee twice, and Philadelphia (second-last) once.

The Raptors got off to a sloppy start, falling behind by 12 points midway through the first quarter. Toronto ended the quarter with a 12-2 run capped by a three-pointer by Vasquez and trailed 25-23 heading into the second.

DeRozan led the way with 15 points in a second quarter that Toronto finish with a 13-4 run, and when the Raptors all-star drilled a 32-footer at the buzzer it sent Toronto into the dressing room with a 55-50 lead.

A pair of free throws by Salmons gave the Raptors a 20-point lead -- their biggest of the game -- with just under four minutes to go in the third. But the Rockets finished with an 18-8 run to make it a 10-point game with a quarter to go.

Notes: The Raptors have another tough game Friday when they host the Indiana Pacers. The Raptors are in Milwaukee on Saturday before returning home to face the Sixers and New York Knicks. . . Toronto FC midfielder Dwayne DeRosario was at the game.