Granger scored 14 of his 16 points in the fourth quarter and overtime as the Pacers rallied from a 20-point second-half deficit to beat the Miami Heat 96-94 on Wednesday night.
"That's a really big emotional victory for us," said Granger, who was 0-for-5 from the field heading into the fourth quarter. "That's one you can build on for the rest of the season."
O'Neal, who came off the bench after missing 35 games while recovering from knee surgery, finished with five points and five rebounds in 14 minutes.
"It's good to be out there with the guys, but obviously there's a lot of rust," O'Neal said. "The rust will wear off and I'll get my rhythm back."
Dwyane Wade, who missed Miami's victory against New York on Monday with a sprained left ankle, had 32 points and eight assists, but it wasn't enough to stop Indiana's comeback from a 65-45 deficit in the third quarter.
"It's the NBA. I don't know," Wade said. "They didn't give up, and they didn't want to get embarrassed."
Troy Murphy finished with 17 points and 12 rebounds in his third game with the Pacers after being traded from Golden State and Jermaine O'Neal added 10 points and 13 rebounds for the Pacers, who won their second straight game after losing four in a row.
"A good team finds ways to win," Jermaine O'Neal said. "I think it was a very positive step forward for our team."
After falling behind by 20, the Pacers turned the momentum around early in the fourth quarter. Granger had two 3-pointers and Darrell Armstrong added one to begin the period as Indiana pulled to 70-66.
"I think that was definitely the turning point," Granger said. "After that, Miami was pretty rattled that whole fourth quarter."
Marquis Daniels' runner four minutes later gave the Pacers a 75-74 lead, its first since early in the first quarter, and they built a six-point advantage with 1:30 left in regulation.
But consecutive 3-pointers by Jason Kapono and Wade down the stretch tied the score at 87 with 17 seconds remaining.
Indiana had a chance to take the final shot, but Armstrong's pass for Jermaine O'Neal was stolen by Gary Payton with 4.1 seconds left. Wade then missed a long jumper as time expired, sending the game to overtime.
"We make a habit of giving up big leads," Miami interim coach Ron Rothstein said. "That's not the first time."
Granger put the Pacers ahead with a three-point play to begin overtime, and Murphy's jumper extended the edge to 96-92 with 42 seconds left.
Following Kapono's basket to cut the deficit to 96-94, Miami got the ball back with 5.4 seconds remaining and called a timeout. With the clock nearing zero, Kapono's potential game-winning 3-pointer appeared to go in before bouncing back out.
"It felt good all the way, it just didn't stay in," said Kapono, who dodged a charging Daniels to get the shot off. "I thought it was down."
Despite the loss, Wade was happy to have Shaquille O'Neal back in the lineup.
"We're a much more powerful team with him," Wade said.
Shaquille O'Neal made his first appearance with 4:49 left in the first quarter after replacing Alonzo Mourning. O'Neal's first shot attempt was blocked by Jermaine O'Neal. Shaquille O'Neal scored his first point from the free-throw line. ... Pacers coach Rick Carlisle picked up a technical foul in the second quarter for arguing a no-call on what he thought was goaltending on Jermaine O'Neal's layup attempt. ... Rothstein, a former Pacers assistant, coached his 12th straight game since replacing Pat Riley on the Miami bench. Riley is out after having hip and knee surgeries.