Orlando (9-4) is 5-1 in games decided by five points or less, and is already halfway to matching its win total from all of last season in that department. The Magic held on despite Dwyane Wade's efforts; the Heat guard led all scorers with 33 points and added a career-high 15 assists.
"Last year we couldn't do it," Howard said. "Games like this, we would have folded."
Meanwhile, the injury-depleted Heat are halfway to matching another stat from last season -- home losses. Miami (4-8) lost its third straight and fell to 2-5 at home, plus couldn't score when Wade wasn't on the court.
With Wade playing, the Heat outscored Orlando by 14. With him sitting, Orlando outscored Miami 19-2 -- and that was only in a total of five minutes, 18 seconds.
"The thing about these kind of games is that it comes down to tough stops," Heat coach Pat Riley said. "When we got back in the game, we could not stop them enough."
Wade hit a pair of free throws with 19 seconds left to draw Miami within one, and could have tied the game with about six seconds left. But his fadeaway fell short, Howard grabbed the rebound and made one free throw with 0.7 seconds remaining.
"I made a couple mistakes down the stretch that I normally don't make," Wade said. "My teammates played an excellent game today, so I'll take this one harder than any other one. At the end, I was in the driver's seat and didn't run it right."
The Heat had a last chance with 0.4 seconds left and Dorell Wright's 3-pointer from the left corner went in -- but after time expired. Hill deflected the inbounds pass to Wright, and it was in his hands when the clock ran out.
"I knew if anyone touched it, the game was over," Hill said.
Miami altered its starting lineup, going with Wright and Kapono in place of the slumping Antoine Walker and Gary Payton -- who were shooting a combined 35.6 percent entering the game. But even with two usual starters coming off the bench, Miami's reserves were outscored 32-8 by the Magic backups.
"We're struggling right now, so Coach wanted to change up the lineup," Walker said. "That's not really my concern. I'm more concerned with us winning and losing and me getting back to playing basketball the way I'm capable of playing."
Orlando scored the first nine points of the fourth -- with Wade on the bench -- and held a 97-89 lead with just under five minutes left. But consecutive jumpers, including a 3-pointer, from Kapono drew the Heat within three points.
Hill's three-point play with 3:31 left put Orlando up 100-94, but the Heat answered again, this time getting six straight points to tie it. Mourning started the run with a pair of free throws, then blocked Howard to start a play where Wade delivered a behind-the-back pass to Haslem for a dunk, and Miami knotted the game on Wade's jumper with 2:06 left.
He tied it again 52 seconds later on a pair of free throws, but Orlando scored the next three points -- including an 18-footer by Hill from the right corner with 28 seconds left.
"It's great to get a win on the road," Magic coach Brian Hill said.
The Heat played without Shaquille O'Neal (knee surgery), Jason Williams (sore knee) and James Posey (sore calf). Williams could play Saturday when Miami visits Charlotte.
- The Heat entered the game ranked last in the NBA in scoring, field-goal percentage and scoring differential -- and, in perhaps the strangest stat of the bunch, have yet to hold a double-digit home lead this season.
- Howard had his fourth straight double-double, and already has eight this year for the Magic.