The NBA plans to make San Antonio pay for resting four stars.

The Miami Heat almost could not.

Ray Allen's 3-pointer with 22.6 seconds left gave the Heat the lead, LeBron James finished with 23 points and the Heat rallied late to beat the Spurs 105-100 on Thursday night -- needing to dig deep despite San Antonio's decision to have four standouts resting at home in a move that irked NBA Commissioner David Stern.

Allen scored 20 points, Dwyane Wade added 19 and Chris Bosh finished with 18 points and 12 rebounds for Miami, now 7-0 at home.

Gary Neal had 20 points for the Spurs, who played without Tim Duncan, Tony Parker, Manu Ginobili and Danny Green. The Spurs' top foursome was sent back to San Antonio by coach Gregg Popovich, who said the move was in his team's best interest. Thursday was the team's sixth game in nine days. Stern wasn't happy about it, calling the move "unacceptable" and saying that sanctions will be forthcoming.

The Spurs led by seven with about 5 minutes left and were up 98-93 after Neal made a 3-pointer with 2:14 remaining.

The Heat finished on a 12-2 run, needing yet another late-game rally.

But all anyone will likely remember from this one is Popovich's decision -- and whatever Stern does as a result.

"I apologize to all NBA fans," Stern said. "This was an unacceptable decision by the San Antonio Spurs and substantial sanctions will be forthcoming."

The Spurs' five starters came into the game averaging a combined 23.6 points, or 1.6 points less than James averaged entering Thursday night.

Celtics: Point guard Rajon Rondo was suspended for the third time this calendar year on Thursday when the NBA told him to sit out two games without pay for starting a skirmish that sent players sprawling into the courtside seats.

Rondo will miss Friday's game against the Portland Trail Blazers and Sunday's against the Bucks in Milwaukee. He will also give up $200,000 in pay.

Celtics center Kevin Garnett was fined $25,000 for his role in the scuffle, and Nets forward Gerald Wallace was fined $35,000.

Rondo was thrown out of Wednesday night's 95-83 loss to the Nets when he shoved Nets forward Kris Humphries off the parquet to retaliate for a hard foul on Garnett. A shoving match ensued; Rondo, Humphries and Wallace were all ejected.

Mavericks: Veteran point guard Derek Fisher signed a contract with slumping Dallas, which is still playing without injured star Dirk Nowitzki and lost Jason Kidd in free agency during the offseason.

The 38-year-old Fisher, who has played 16 NBA seasons with four teams including the Warriors, could make his Dallas debut in Saturday night's home game against Detroit. To make room for Fisher on their 15-man roster, the Mavericks waived former Warrior Troy Murphy.

Nets: Center Brook Lopez will miss the next two games with a mild sprain of his right foot.

The team said that X-rays were negative, but the injury could be a concern given Lopez's foot problems last season.

The former Stanford star missed 32 games after breaking that foot in the preseason, and an ankle injury after he returned aggravated the foot injury.