The Heat survived a seventh-game test, just as they did in the Eastern Conference finals against Indiana, thus denying the Spurs what would have been their fifth NBA crown in 15 years.
Miami pulled out a dramatic victory in Game 6 to stay alive in the finals and then won a tense duel that was still very much undecided going into the final 2 minutes.
Kawhi Leonard hit a 3-pointer at the 2-minute mark that brought the Spurs within 2 points, but those turned out to be their final points of the season.
After climbing within 2, San Antonio had three shots at either tying the game or taking the lead. Leonard missed a 3-pointer and Tim Duncan failed to connect on two attempts, leaving Miami with the advantage.
James then finally hit the key basket with 27.9 seconds to play, putting Miami in front by 4. When San Antonio's Manu Ginobili turned the ball over 4 seconds later, the Heat could begin to celebrate.
James fittingly had his biggest game of the playoffs, scoring 37 points and pulling down 12 rebounds. He had not scored that many points since pouring in 40 in a double-overtime contest against Sacramento Feb. 26.
He made 12-of-23 shots from the field and all eight of his free throws. Dwyane Wade added 23 points and Shane Battier had 18 for the Heat.
Tim Duncan led the Spurs with 24 points and 12 rebounds. Leonard had 19 points and 16 boards.
San Antonio raced to an 11-4 lead just over 4 minutes into the contest, but Miami caught up by the end of the first period and the game turned into a dramatic duel worthy of a championship-deciding event.
Miami led by 2 at halftime, but the lead changed hands four times in the third period and there were five ties as well.
The Heat took the lead for good on the final shot of the third quarter, which turned out to be a 3-pointer from Mario Chalmers at the buzzer that put Miami in front 72-71.