The win was the third straight for the Cavaliers, who snapped a 10-game losing streak at Miami Arena.
"We made the key plays down the stretch and just hung around in the second half," said Cleveland coach Mike Fratello. "Then we were able to hold on at the end."
Trailing 88-81, the Heat rallied to tie at 93 on Hardaway's 3-point shot with 21.4 seconds left. The Cavs then worked for the final shot, and the 7-foot-3 Ilgauskas found himself free on the baseline and drew a foul from Jamal Mashburn.
"It was an optional play. None of us really knew who was going to get the ball or take the last shot," Ilgauskas said. "When I got the ball down on the baseline and was that open, I was doing more reacting than thinking."
Ilgauskas hit the first free throw and missed the second. Miami couldn't get a shot off, however, as Dan Majerle's inbounds pass was deflected as time expired.
"After I made the first one, I sort of got too excited," Ilgauskas said.
Alonzo Mourning scored 23 points for the Heat.
"The tenor of the game changed in the third period," said Heat coach Pat Riley. "That's when they dominated us physically. We couldn't move. Our post-up people were being pushed to the sidelines. We couldn't finish inside. We were very soft."
With Miami trailing 88-86, Mourning missed a pair of free throws that would have tied the game with 1:54 left. After getting his own rebound, Mourning twice missed close-range shots.
Person then scored at the other end to put Cleveland ahead 90-86.
Hardaway hit a pair of free throws to pull Miami within 92-90 with 53 seconds left. Ilgauskas hit one of two free throws to give Cleveland a 93-90 lead, setting the stage for Hardaway's game-tying shot.
"We came back, but it should have never gotten to that point," Hardaway said. "They played well in the third quarter, and that's when their confidence grew and grew. That's what hurt us."
The Heat mised their first four shots of the game, committed three turnovers and fell behind 8-0. But Miami then scored 12 straight points and took a 36-23 lead after one period.
Cleveland opened the second quarter with a 14-2 run that featured 12 points by Potapenko, but Miami regained control for a 53-46 halftime lead.
The third quarter belonged to Cleveland, which outscored Miami 23-11 to grab a 69-63 lead. The 11 points in the period matched a season-low for the Heat.
Notes: Miami is 11-11 against teams with a .500 or better record ... Cleveland has taken advantage of the weaker teams in the league in building a 24-16 record. The Cavs are 11-1 against teams with a losing record, but just 13-15 against teams .500 or better ... Cleveland is 12-0 when scoring at least 100 points. ... The Cavs are holding their opponents to 88.3 points per game, second-best in the NBA.