Rajon Rondo posted double-digit assists for the 18th straight game, extending the NBA's longest such streak in 20 years with an 18-point, 15-assist effort. Brandon Bass added 12 points and 10 rebounds, while Avery Bradley scored 11 for the Celtics, who shot a season-high 61 percent and survived two possessions where Miami could have tied the score in the final quarter.
"We talk about it in fighting terms," Celtics coach Doc Rivers said. "We told them today before the game, you're in a boxing match, you expect to get hit. They're going to hit you. They did and we withstood it. I thought that was important for our team."
LeBron James finished with 36 points, seven rebounds and seven assists for Miami, which got 20 from Dwyane Wade and 18 from Mario Chalmers. Chris Bosh finished with 13 on 5-for-13 shooting for Miami, which has gone 5-5 in its last 10 games.
|More on Celtics-Heat|
|More NBA coverage|
The Celtics beat Miami 91-72 in Boston on April 1, a game the Heat called "unacceptable" after establishing season-lows in scoring and shooting.
This one won't sit much better with the reigning Eastern Conference champions, who ousted the Celtics in five games from last year's playoffs and could see them in the second round of the upcoming postseason. No team had shot better than 55 percent against the Heat this season, and Boston's 115 points were two shy of matching a season-high against Miami.
"We left Boston feeling awful at our performance," James said. "I don't feel as bad tonight. Those guys, they were locked in. Not only did they make their open shots, they made their contested shots. ... When you've got it going like that, just tip your hat off. We tip our hat off to them tonight. They won it."
Boston improved to 18-7 since the All-Star break, and dealt Miami a blow in the race for the No. 1 seed in the East. The Heat fell 2½ games behind Chicago, which played later Tuesday at home against the New York Knicks.
"It took a while," Rondo said, "but we're peaking at the right time."
A layup by Wade got Miami within 108-103 with 2:22 left, before Garnett made a high-arcing jumper that dropped softly through the net, his 11th make in 14 shots.
That pretty much described the night. Whenever Miami got close, the Celtics found a way to hold them off.
"It's a game of runs," Pierce said. "You have one of the best teams in the NBA at home. You know they're going to make a run. That's what makes them who they are. They know how to turn it on. We did a good job of holding their runs to a minimum."
Miami had two shots to tie early in the fourth after being down by as many as 18 earlier, before Garnett made jump shots on four straight possessions, the average length of those makes being 19 feet.
A 10-0 run early in the first quarter gave Boston a quick lead - and that wasn't even the Celtics' best run of the opening period. Boston scored the last 11 of the first, the run actually becoming 13-0 when Garnett scored to open the second quarter, and Boston's lead was 35-22.
Everything the Celtics wanted, they got. Boston shot 61 percent in the first quarter, 62 percent in the second. Celtics coach Doc Rivers used eight players, all of them making multiple shots by halftime. Of them, the only one who failed to make at least half his shots was Bass, who more than made up for that with six first-half rebounds.
Here's how well the Celtics were shooting: Miami went into the break shooting 51 percent from the field, 60 percent from 3-point range and 78 percent from the foul line - and Boston was at least 10 percentage points better in every department.
"None of us were expecting that," Heat coach Erik Spoelstra said. "To give up 115 points on our home floor, that's not our style. And we're being made to feel uncomfortable right now. That's really the residual of the last three weeks or so. This is probably the one silver lining out of it, is our group, staff and players, we're getting to know each other now on the level that is needed for us to prepare for the playoffs.
"We all know we have to take a real big step forward as a basketball team," Spoelstra added.
The next chance for that "big step" comes Thursday, when the Heat visit Chicago.
Down by 18 in the first half, Miami cut the deficit to 65-57 at halftime. James closed it with a 3, punching the air as the shot dropped.
Even with that, every moment of the second half was an uphill battle.
And the Celtics weren't being caught.
Miami got within five twice in the third, with Rondo answering both times to make it a three-possession game again. The Celtics held the Heat to 36 percent shooting in the quarter, keeping the eight-point lead entering the fourth at 89-81.
The Heat had two chances to tie early in the fourth, after starting the period on a 7-0 run. The first of those slipped away when Bosh failed to finish off a three-point play opportunity by missing from the line. The next came when Udonis Haslem missed from the left baseline with 9:17 left, and Boston's answer that time was absolute.
Allen made a catch-and-shoot 3 for a 94-89 lead, and then Garnett just took over.
"When they shoot like that, it's going to be tough to beat them," Wade said. "Obviously, we can always do things better. But give them credit."
- Alex Terrio, a fan wearing a Heat T-shirt, won a 2012 Kia Optima for making a halfcourt shot in between the third and fourth quarters. "Shock," Terrio said.
- James had 11 points in the third quarter for the third consecutive game.
- Hall of Fame quarterbacks Dan Marino and Jim Kelly were at the game, as was Chicago Bears star Julius Peppers.