TORONTO -- DeMar DeRozan scored 29 points, Jonas Valanciunas and Greivis Vasquez each had 15 and the Toronto Raptors won their seventh straight home meeting with Houston, beating the Rockets 107-103 on Wednesday night.
Terrence Ross scored 14 points and John Salmons had 12 as the short-handed Raptors won for the fourth time in five games.
James Harden scored 26 points and Chandler Parsons had 20 for the Rockets, who lost their third straight after winning the previous five.
The Rockets hurt themselves by missing eight of 30 free throw attempts, including five misses in the fourth quarter.
Jeremy Lin scored 16 points and Donatas Motiejunas had 13 for the Rockets, who could have clinched a playoff spot with a win and a loss by either Memphis or Phoenix.
Toronto led by 10 to start the fourth, but Houston closed the gap with an 11-2 spurt to begin the quarter, making it 92-91 after Harden made one of two at the line at 7:44.
The Raptors replied with six of the next seven points, including back-to-back baskets by Patrick Patterson and Ross, to lead 98-92 at 5:20, causing Houston to call timeout.
Ross gave Toronto a six-point edge with a 3 at 4:06 and, just over two minutes later, DeRozan stole a pass from Parsons and fed Valanciunas for a layup, putting the Raptors up 105-97.
Lin made a 3 with 8 seconds left, cutting it to 106-100, and Toronto almost turned over the inbounds pass before Vasquez recovered the ball. Vasquez was fouled and made one of two before Isaiah Canaan missed a last-second 3 for the Rockets.
DeRozan played the final three minutes with a bandage on his left hand after he suffered a cut while fouling Omer Asik.
Toronto was without point guard Kyle Lowry, who was sidelined with a sore left knee. Lowry, who's averaging 17.4 points and 7.6 assists, injured his knee in a collision with LeBron James in the second quarter of Monday's loss at Miami. Lowry started the second half in the game but was unable to finish the game.
Raptors coach Dwane Casey said Lowry's knee was still swollen, but that tests had shown no structural damage.
Vasquez started in place of Lowry.
Toronto took another hit when forward Amir Johnson left with a sore right ankle less than three minutes into the opening quarter. Johnson did not return.
Houston's Dwight Howard sat for the sixth time in eight games with a sore left ankle. Howard had a second injection on his troublesome ankle Tuesday.
Terrence Jones started for Houston after missing Tuesday's loss at Brooklyn with flu-like symptoms, but missed all four shots he took in 10 first half minutes and did not return after the break.
The Rockets were also without guard and regular starter Patrick Beverley (right knee) for the third straight game.
Toronto led 82-62 with 3:46 left in the third but Lin scored eight points as the Rockets made seven of their next nine shots, cutting it to 90-80 heading to the fourth.
NOTES: Toronto finished 16-14 against Western Conference opponents. It's the first time since the 1999-2000 season that Toronto has been .500 or better against the West. ... Asik led Houston with 15 rebounds. ... Rockets assistant coach Kelvin Sampson is expected to leave the team to accept the head coaching job at the University of Houston. "We'll all miss him, he's been a great addition," coach Kevin McHale said. ... With Lin in town, the Raptors celebrated Chinese Heritage Night. ... Toronto FC midfielder Dwayne DeRosario, who once played for Houston Dynamo, attended the game