MIAMI (AP) -- LeBron James had 34 points and 10 assists, Dwyane Wade scored 19 points and the Miami Heat avenged a loss at Oklahoma City last week, rallying to beat the Thunder 98-93 on Wednesday night for their 17th straight home victory.
Mario Chalmers scored 13 points, and Chris Bosh had 12 for Miami, which trailed by 11 in the first half before a comeback fueled in part by Russell Westbrook pulling James down from behind on a fast break in the second quarter.
Kevin Durant scored 30 points for Oklahoma City, and Westbrook added 28, but shot 9 for 26. James Harden had 12 for the Thunder, who lost despite holding Miami to 37 percent shooting.
The win moved Miami (39-14) within two games of Chicago (42-13) in the race for the NBA's best record. Oklahoma City fell to 40-14.
Durant could have given Oklahoma City the lead with 1:30 left, backing down James and then trying a turnaround from the left side. His shot was way off, hitting the top of the backboard.
Bosh, who had been 3 for 13 to that point, made a jumper on the next Miami possession to make it 96-93. Kendrick Perkins then missed two free throws with 43.6 seconds left, the first Thunder misses from the line all night after starting 18 of 18.
And after James couldn't connect on the ensuing Miami trip, it was still a one-possession game. The Thunder called a timeout with 19.5 seconds left and went for the quick 3, Durant's try hitting the front of the rim and going out of bounds. Wade made a pair of foul shots, stretching the lead to five, and it was soon over.
Oklahoma City's win at home over Miami last week was largely one-sided.
For a while, this one looked as if it would go the same way.
There were some incidents that had big-deal potential in the opening minutes. Wade and James failed to score on a pair of early 2-on-1s, first against Westbrook, then against Durant. James tweaked his left ankle after falling over a courtside videographer, then grabbed at his back and winced after some unintentional and unexpected contact with referee Zach Zarba.
By night's end, all that was forgotten.
Westbrook's three-point play with 7:27 left in the second quarter gave Oklahoma City a 36-25 lead, and that sort of margin typically means a Thunder win - they came into Wednesday 32-2 when they held a double-digit lead.
Then the game's complexion changed.
The first salvo came with 5:45 left in the half, when Perkins struck Wade in the head while trying to block a shot and both got called for a technical and personal fouls, much to the ire of both sides - coach Scott Brooks couldn't understand why Perkins merited both, while Heat coach Erik Spoelstra asked why contact to the head wasn't worth a flagrant foul.
The flagrant came 12 seconds later.
Wade stole the ball from Westbrook, flipped it ahead to James, who leaped for a dunk. Westbrook came from behind James, wrapping his left hand over the Heat star's left shoulder and using his right hand to grab him around the waist.
James fell to the court, and emotions started boiling over.
Referees Bill Kennedy and Olandis Poole jumped into the fray, making sure players didn't go at one another. Heat President Pat Riley got out of his seat three rows from the court and took a long look at the scene, while normally mild-mannered Miami assistant coach Bob McAdoo had some choice words for anyone who would listen. The end result was a flagrant-1 for Westbrook. James swished a jumper as time in the half expired, and Miami led 50-49.
The Heat closed the half on a 23-11 run.
"Playoff basketball," James said at halftime in a TV interview. "I know Russ. I don't think he's a dirty player."
He's right - it certainly did have a playoff feel.
Even new Jets quarterback Tim Tebow - who James raves about - was taking notice of the level of play.
"Don't know who's gonna win," Tebow tweeted in the third quarter, "but KingJames isn't playing around."
Neither were the Thunder.
As soon as the Heat went up by nine late in the third, their biggest lead to that point, the Thunder came back with a 10-0 run to reclaim the lead. Durant started the burst with a 12-footer with 3 seconds left in the quarter, then Oklahoma City scored the first eight of the fourth to go back on top 81-80.
By that point, it was clear this one was going to the wire.
NOTES: Word that Wade would play - he missed Tuesday's game against Philadelphia with a bruised left knee - came down about 45 minutes before tip-off. ... NFL stars Julius Peppers and Jeremy Shockey were part of the sold-out crowd, as was actor Michael Douglas for the second straight night. ... About 57,000 people went to a pair of sold-out sports events three miles apart in Miami on Wednesday night, with Heat-Thunder going on not far from the first official baseball game in the history of Marlins Park. ... Thunder guard Derek Fisher and Heat guard James Jones - both NBPA officers who spent much of the offseason dealing with the lockout - exchanged greetings at halftime.