Fans stood, clapped and danced across the final minutes, when every score was answered by another score, each stop followed by a better stop. The Heat pushed their lead to six points a few times midway through the fourth but the Spurs kept coming back.
The Spurs, so close to a fifth title just two nights earlier, couldn't find a way to grab it in this one, perhaps the last shot Tim Duncan, Parker and Manu Ginobili will ever get together.
"In my case I still have Game 6 in my head," Ginobili said. "Today we played an OK game, they just made more shots than us. LeBron got hot. Shane, too. Those things can happen. But being so close and feeling that you are about to grab that trophy, and seeing it vanish is very hard."
They were trying to become the first road team to win a Game 7 on the road since Washington beat Seattle in 1978, but those old guys ran out of gas just before the finish.
Duncan had 24 points and 12 rebounds for the Spurs, but missed a shot and follow attempt right under the basket with about 50 seconds left and the Spurs trailing by two.
James followed with a jumper — the shot the Spurs were daring him to take earlier in the series — to make it 92-88, sending San Antonio to a team a timeout as Glenn Frey's "The Heat is on" blared over the arena's sound system.
He then came up with a steal and made two free throws for a six-point lead, and after Ginobili missed, James stalked toward the sideline, knowing it was over and he was the last one standing again.
Wade had 23 points and 10 rebounds for the Heat, who overcame a scoreless Chris Bosh by getting six 3-pointers and 18 points from Shane Battier.