Carmelo Anthony and LeBron James were nearly matching each other miss for miss. But in crunch time, James hit some big buckets and Anthony misfired again and again.
Anthony had a chance to send the game to overtime, but his three-pointer over James with 1.5 seconds left rattled and rimmed off. The Knicks wound up losing their sixth straight, falling to the Cavaliers, 90-87, Thursday night at Madison Square Garden.
The Knicks have lost 15 of their last 17 and are 4-16, the worst record after 20 games in franchise history (69 seasons).
Anthony shot 4-for-19 and had nine points. In the fourth quarter, he shot 0-for-4, didn't score a point and had a questionable travel called on him with 2:19 left and the Knicks down one.
In Tuesday's loss to the Nets, Anthony missed two potential tying three-pointers in the final minute and was 1-for-9 in the final quarter.
After Anthony's miss, Iman Shumpert tapped the rebound out to Jose Calderon, who made the three. But time had expired.
"I wish I'd played a little bit better,'' Anthony said. "I know I could play a little bit better. I'll kind of take that one.''
Kyrie Irving torched the Knicks for 37 points, including a layup high off the backboard with 10 seconds left over Shumpert and Amar'e Stoudemire for the final points.
Irving shot 12-for-18. James was 7-for-17, scored 19 and had 12 assists. He gave the Cavaliers (10-7) the lead for good with a three-pointer with 3:54 left.
Tim Hardaway Jr. led the Knicks with 20 points. Stoudemire added 18 and scored the Knicks' last basket with 3:06 left to make it 88-87.
The Knicks led by 11 in the first half and seven in the fourth but couldn't close out the game. They shot 0-for-7 with two turnovers in the last 2:33 with a chance to tie or take the lead.
"I thought for the most part we did a great job of getting the stops when we needed it,'' Anthony said. "We just couldn't convert offensively.''
It was a wild ending that featured a controversial eight-second violation on the Knicks with 1:11 left and the Cavs up one. Irving missed on the new possession, Anthony rebounded it and Derek Fisher called for a timeout, but no one heard him.
Fisher, who didn't get the timeout he wanted in the closing seconds Tuesday, walked out to midcourt and waved his arms for time until it finally was granted with 41 seconds to go.
"They want us not to walk on the court that way,'' Fisher said. "I don't know if you can get a timeout if you don't.''
Out of the timeout, instead of Anthony or Stoudemire getting the ball, Shane Larkin shot, and his floater hit the front of the rim. Anthony couldn't convert the tip-in with 32 seconds left.
"I don't know if we can get a better shot than that from anybody,'' Fisher said. "Those are plays that you can go to sleep and know that you had a good opportunity to get the lead there. I think that was a good enough shot off of that possession.''
The Cavs then called time and got the ball to Irving, who drove past Shumpert and gave the Cavaliers the three-point lead. "Kyrie made a big-time play,'' Anthony said.
The Knicks rode Stoudemire early in the fourth, and he delivered with a huge dunk over Anderson Varejao and a tough layup inside that made it 79-72 with 8:57 left. But when James drilled a three-pointer with 3:54 left, the Cavaliers had an 86-85 lead. On the ensuing trip, Irving stole the ball from Calderon and fed James for a breakaway dunk with 3:25 to go.
Trailing 88-87, Stoudemire and Anthony missed inside and Anthony was called for a travel. James missed, but Stoudemire's short hook rimmed out with 1:40 left.
"I don't think I had it tonight,'' Anthony said. "I just didn't feel right out there, for whatever reason. I wish I was there for my team offensively.''