Toronto Raptors forward James Johnson, right, and New York Knicks...

Toronto Raptors forward James Johnson, right, and New York Knicks forward Lance Thomas reach for a loose ball during the first half of an NBA basketball game Tuesday, Nov. 10, 2015, in Toronto. Credit: AP / Frank Gunn

Derek Fisher wasn't as demonstrative or animated as he was the last time the Knicks played, but he did give a little fist pump late in the game.

Fisher, who was thrown out of Sunday's win over the Lakers, stuck with Lance Thomas down the stretch over rookie Kristaps Porzingis. That decision paid off.

Porzingis was struggling and Thomas, who is not known for his offense, scored 17 points and played a huge role in the Knicks pulling out a 111-109 win over the Raptors Tuesday night at Air Canada Centre.

Thomas was under pressure inside and made a layup to give the Knicks a five-point lead with 91 seconds remaining. Fisher reacted. It was long from over, but it was the first of six straight points by Thomas, and the Knicks, who squandered a 13-point lead, escaped with victory.

The Knicks are 4-4 and have won three games on the road, all against playoff teams from last season. They didn't win their fourth game until Nov. 22 last season. The Knicks go for their third straight win Wednesday night in Charlotte.

"It's encouraging, kind of motivating for everybody who had that experience last year," Carmelo Anthony said after scoring a team-high 25 points. "And to be in the situation we're in now, damn near in every game that we played -- these are games that we weren't winning last year. So whatever reasons, we're pulling them out this year."

There are many reasons, including new faces, hard work and some good fortune.

DeMar DeRozan, who led Toronto (5-3) with 29 points, had his game-tying layup rim out with 5.9 seconds remaining. But the Knicks also were the beneficiaries of a bad call a little earlier.

Clinging to a 106-105 lead, the ball was inbounded to Anthony in front of Toronto's bench with about 20 seconds left. Anthony was trapped, and stepped on the sideline. Raptors coach Dwane Casey was irate because it happened right in front of him, but the referees didn't see it.

After the game, crew chief Ed Molloy told a pool reporter the referees reviewed the play and blew the call.

"We did see Anthony step out of bounds and should've awarded the ball to Toronto," Molloy said.

Instead, Anthony got the ball to Thomas, who was fouled and made both free throws with 17.2 seconds to go to make it 108-105.

"I don't want to see it," Anthony said. "I'm getting out of here. No need to look back at it or watch it. It's over with. I don't even know if I did or not -- probably. We're getting out of here with the win."

Anthony carried the Knicks in the first half, scoring 17 points in the last 5:09 of the second quarter. But he got plenty of help on this night.

Langston Galloway scored 15 points, and Robin Lopez 12 points. Thomas finished 5-for-7 overall, including 3-for-3 from three. His contributions were huge with Porzingis stumbling through a 3-for-11, eight-point night, so Fisher stayed with Thomas.

"I thought the matchups best favored that way," Fisher said. "A lot of the things that Lance can do for us really helped us to secure this game. Not because Kris couldn't have gotten the job done. But Lance had a pretty good game going.

"He just has an approach to playing the game and doing his job that really is a catalyst to the success that we have as a team."

After DeRozan missed the layup, Thomas rebounded it and was fouled. He made both foul shots for a 110-106 lead with 3.7 remaining.

A Cory Joseph three-pointer cut it to 110-109 with 1.7 seconds left. Then Galloway was fouled. But he made just one-of-two with 1.5 seconds to go. Luis Scola hoisted a three before the buzzer that wasn't close.

"We relied on damn near everybody out there," Anthony said. "Everybody responded to what they had to do."

SUBSCRIBE

Unlimited Digital AccessOnly 25¢for 6 months

ACT NOWSALE ENDS SOON | CANCEL ANYTIME