Once Sundiata Gaines let go of his 3-pointer and the buzzer sounded Thursday night, there was no chance for the lead to change again. Utah 97, Cleveland 96.
It was the first career 3-pointer for Gaines, a rookie who was just signed last week to a 10-day contract and was playing only his fifth NBA game.
"He has a little swag in him and believes in himself," said Carlos Boozer, who fouled out and had to watch Gaines' winner from the bench. "I tell you what, he made us a believer in him, too."
LeBron James had led the Cavaliers on a 22-4 run earlier in the fourth quarter and put the Cavs up by six with 32.5 seconds left, but Cleveland couldn't clinch it from the free-throw line.
Zydrunas Ilgauskas made one of two foul shots with 5.6 seconds left, leaving the Jazz down by two. Utah's Ronnie Price got tied up behind the arc and flipped the ball to Gaines, who launched a 26-footer just before the buzzer.
"I knew if I caught the ball I was going for the win," said Gaines, who learned earlier Thursday that the Jazz planned to give him a second 10-day contract. "Once it left my hand it felt good. Just to beat Cleveland, this was a big game."
Gaines came to the Jazz last week after starter Deron Williams sprained his right wrist. Williams re-sprained the wrist earlier in the fourth and the Jazz were left with only Price and Gaines to run the offense. Gaines, known as "Yata" by his new teammates, scored all nine of his points in the fourth.
"Those guys are so excited in there, probably more so than at any time I've been with them after a win," coach Jerry Sloan said outside Utah's locker room.
James scored 20 of his 36 points in the fourth.
"We lost the ballgame," James said. "Me individually means nothing. Everything I did as an individual goes out the window."
The Jazz and Cavs combined for just 28 points in the third, then went on a scoring barrage in the fourth. Utah ended up winning the fourth quarter 42-36 as Boozer scored 11 in the final period. Boozer finished with 19 points, 13 rebounds and six assists against his former team.
The Cavs helped the Jazz by committing a season-high 23 turnovers and missing critical foul shots in the final minute.
Anthony Parker made one of two from the line on consecutive trips in the final 22 seconds, leaving the door open for Utah's comeback.
Kyle Korver hit a baseline jumper from behind the backboard to cut the lead to 94-92 with 6 seconds left, then after a quick foul, Ilgauskas went one for two and Utah got the rebound.
After a timeout, the Cavs had the Jazz scrambling on the inbounds play before Price got the ball to Gaines.
"It got real crowded real quick. They jumped out on our pick-and-roll so our next option was to find Yata," Price said. "I knew it was going. He was on the court for a reason."
Gaines was mobbed by his teammates on the spot, then ran across to the scorer's table where he leaped on top and lifted his arms.
"I got ambushed," Gaines said. "It was great."
The Cavaliers fell to 2-2 on a five-game Western Conference trip which ends Saturday at the Los Angeles Clippers. They were one defensive stop from becoming the first team in the NBA to reach 31 wins.
"We played them as close as we could," James said. "Everybody has to contest and everybody was in front of a man. He [Gaines] just knocked down a shot."
Williams left the game after getting tangled up with Cleveland's Mo Williams early in the fourth.
The Jazz responded to losing their leader with 15 straight points to start a 21-2 run that had the Cavs all but done until James put on another show for the arena that was packed just to see him.
James led the Cavs on an 11-1 surge to get back in it late in the fourth. He drew a foul on Boozer while making a layup and his free throw for the three-point play got Cleveland within two with 2:16 left.
James was fouled on a drive with 1:15 remaining and appeared to injure his left ankle on the play. He was hopping on his right foot after the whistle. The hop was gone after a timeout and James went to the line, where he made the first but missed the second. James got his own rebound and hit a 3-pointer to put Cleveland back up 86-85 with 1:10 left.
The Cavs came up with a turnover at the other end and James hit another 3-pointer with 40 seconds left.
C.J. Miles tried a 3 for Utah, but it bounced off the rim to James, who drew Boozer's sixth foul and made both free throws to put Cleveland up 91-85 with 32.5 seconds to go.
James was averaging 30.23 points against the Jazz, second only to Michael Jordan's 32.69 points per game against Utah. ... Cleveland's previous high for turnovers was 22 in a win at Golden State on Monday. ... Shaquille O'Neal had just five points and three rebounds for Cleveland. ... The Jazz last beat the Cavs on Nov. 7, 2007.
Kevin Pelton grades Friday's deal that sent a point guard to Utah and a center and draft picks to Philly.
Jabari Parker talks about what it is like to return to his hometown as a newly-minted multimillionaire and how he uses his platform to inspire kids.
The Knicks received a second-round pick instead of Jae Crowder in 2014. That pick became Cleanthony Early.