The Pacers never led after 7-6, but they had several chances in the final seconds to tie a game that grew increasingly chippy down the stretch.
There were eight technical fouls called in the last 13:17 of the game.
Jason Richardson added 17 points and Ryan Anderson had 12 for the Magic, whose winning streak comes on the heels of four straight losses. Still missing point guard Jameer Nelson, they won despite turning the ball over 25 times.
"It was a tough loss for us after a real strong week," Pacers coach Frank Vogel said. "We really never got into a rhythm offensively."
The Magic opened the second half on a 14-2 run to take a 53-41 lead. Howard started it with a dunk and three-point play and Richardson followed with a three-pointer.
Orlando was leading by 10 later in the third quarter when a minor scuffle broke out.
Magic forward Quentin Richardson was ejected following the altercation, which was started when he and Granger came together in front of the Orlando bench. Richardson shoved Granger and other players got involved while some, including Magic coach Stan Van Gundy, tried to separate them.
No punches were thrown, but Richardson received two technical fouls and was tossed. Granger, Hansbrough and Orlando's Earl Clark also received technical fouls in the fracas.
Prior to the exchange, Granger had reached in to knock the ball out of Clark's hands, forcing a turnover.
In the fourth quarter, Orlando's Von Wafer was whistled for a technical for bumping into Hansbrough. Howard got a technical later in the fourth quarter, as did Orlando's Hedo Turkoglu for heaving the ball after he was fouled.
Granger made the technical free throw after Turkoglu's toss, cutting Indiana's deficit to 80-78, but Turkoglu knocked down 1-of-2 at the other end to make it a three-point game again with 12.6 seconds remaining.
But Paul George threw an inbounds pass that Clark deflected and Hibbert couldn't corral under the basket, leading to a turnover, and Anderson made two free throws at the other end for a five-point game with 10.3 seconds left.
Granger knocked down a three at the other end, but Anderson made two more free throws to seal the win.
The Magic led 23-21 after the first quarter, but Indiana came back to tie it at 39-39 heading into the break. Orlando carried a 62-53 lead into the fourth quarter.
The teams traded wins in two games last month, but the Magic are 13-3 in the last 16 meetings.
The Magic will play three straight games -- and six of their next seven -- in Orlando, starting Monday against the Clippers. They shot 40.3 percent from the field...Indiana shot 34.1 percent.