Dwyane Wade got hot down the stretch, and LeBron James missed a layup in the final minute.
Both were huge breaks for the Miami Heat.
James scored 28 points, Wade scored 11 of his 24 in the final five minutes — when Miami needed him most — and the Heat extended the NBA's longest current winning streak to 11 games, beating the Cleveland Cavaliers 109-105 in a back-and-forth matchup Sunday night.
The Heat blew a 22-point second-half lead then rallied from eight down with 5:16 left.
"We're a veteran ballclub and we've been in every situation that an NBA game can offer us," James said. "We don't get too high, we don't get too low, we just play the 48 minutes out and see where it takes us."
Dion Waiters scored 26 points, C.J. Miles added 19 and Kyrie Irving scored 17 for Cleveland, which outscored Miami by a stunning 30 points over a 17-minute stretch of the second half, yet still came up empty.
The Cavaliers are now 1-8 against the Heat since James signed with Miami in July 2010.
"We had a very good chance against a very good basketball team, the world champions, and we lost the game because of mental mistakes," Cavaliers coach Byron Scott said. "That's just something that we can't have happen again."
In fairness, it wasn't just mental mistakes that doomed Cleveland late. There was a bit of luck involved for the Heat.
Miami was up by two and held possession with 1:03 remaining. The shot clock was running down and Chris Bosh was open to try a 16-footer from the right wing. As Bosh was about to release, James got inexplicably free under the basket, thrusting both his arms skyward. Bosh threw him the pass — and James, enjoying the best shooting season of his career, did the unthinkable: He missed the easy one.
This is where the luck comes into play.
The rebound found its way back to Bosh, the Heat ran down another shot clock, and Wade got loose for a two-handed dunk that pushed Miami's lead to 105-101 with 24.4 seconds left.
It was a double-whammy for Cleveland. Miami scored and took nearly 40 seconds off a dwindling clock in the process.
"Hey, I'm a smart player. That's what basketball IQ is all about," James said afterward, unable to hold back a sly grin. "I have no idea how I blew that layup. But it did work out for us. Got an extra possession, D-Wade was able to turn the corner and get a slam."
Said Heat coach Erik Spoelstra: "I liked that play."
Wade started what turned into a 16-4 run with a fadeaway with just under 5 minutes to go, then added a three-point play on the next Miami possession to cut the Cavs' lead to 97-94.
And after Irving missed a layup with 1:35 left, Wade got the rebound and set up Battier for a 3-pointer that put Miami on top again — and for good.
"I thought that we had the game," Cavaliers forward Alonzo Gee said.
Sure looked like that was the case, after a ridiculously good third quarter.
Down 68-46 early in the third, the Cavaliers looked finished — last-place team, on the road, against the reigning NBA champions who just happened to have the league's longest current winning streak.
Midway through the third, Miami's lead was still 17.
With two minutes left in the period, the cushion was 10.
By the start of the fourth, it was nonexistent.
The C.J. Miles Show lasted for all of 63 seconds. And they were a scintillating 63 seconds.
It starts with 1:35 left, a 3-pointer from Miles getting the Miami lead down to seven. Then he got a rebound, came downcourt and connected on another 3-pointer. Lead down to four. Another stop by the Cavs on one end, then another 3-pointer for Miles on the other — that one coming both with him drawing a foul from Chalmers, and with Spoelstra getting hit with a technical from referee Ed Malloy for arguing.
Miles made the technical free throw to tie the game, the free throw for the Chalmers hit to put the Cavs ahead, and they carried that 82-81 lead into the fourth, having closed the quarter on a 36-13 run.
"Guys just finally decided to start playing," Miles said.
Miami used a 23-4 run in the first half to take what looked like a commanding 42-22 lead — with more than 9 minutes left until the break. And after Cleveland got within seven, Miami answered with another burst.
James didn't miss in the final 4:29 of the half, scoring 10 points on a 4-for-4 run from the floor and fueling what became 16-5 spurt that gave Miami a 64-46 lead going into the locker room. And for good measure, Miami got the first two baskets of the second half, pushing the lead to 22, the biggest of the night.
Not even remotely close. Not until the final frantic seconds, as the Heat not only extended their win streak but won for the fourth time in five nights.
"We found a way," Wade said. "I felt like in the first three quarters, I couldn't move. But in the fourth, you just find it. ... We just turned that other switch on."
NOTES: Miami's two wins over Cleveland this season, both at home, have come by a combined six points. ... The Cavs were without Daniel Gibson (personal) and Omri Casspi, who remained hospitalized in Orlando after surgery to remove his appendix. ... Heat F Mike Miller (ear infection) was back with the team Sunday, though did not play. "He can't hear anything we're saying," Spoelstra quipped before the game. ... The Heat held a moment of silence pregame for Los Angeles Lakers owner Dr. Jerry Buss, the moment ending with warm applause from the crowd.