Granger was questionable with a sinus infection, but he shot 7 for 13 from the field to help Indiana earn its first winning streak of more than two games this season.
Rudy Fernandez scored 19 points for the Trail Blazers, who have lost four of five.
Portland's top scorer, LaMarcus Aldridge, had 14 points and 10 rebounds before fouling out with 9:53 remaining. Indiana held the Trail Blazers to 36 percent shooting.
The Pacers outrebounded the Trail Blazers 58-39 and outscored Portland 33-18 from the free-throw line.
Indiana squandered a 13-point lead in the second quarter, but recovered to lead 60-54 at halftime.
The Pacers shot 53 percent before the break. It was the second-highest point total Portland has allowed in a first half this season.
Indiana regained its 13-point lead on a flip in the lane by McRoberts. In the closing seconds of the quarter, Paul George lost Fernandez with a crossover dribble, then swooped in for a left-handed layup to give Indiana an 86-72 lead at the end of the period. Granger scored 11 points in the quarter.
A putback by Hibbert stretched Indiana's lead to 93-73 with about nine minutes to play. The Pacers reached 100 points on a pair of free throws by Darren Collison with just over three minutes remaining.
Notes: Indiana G Brandon Rush missed his fifth straight game with a sprained right ankle. ... The Pacers shot 56 percent in the first quarter to lead 32-25 at the end of the period. ... Portland coach Nate McMillan was issued a technical foul early in the second quarter. Portland G Andre Miller was issued a flagrant foul with 5:35 remaining. ... Portland's Dante Cunningham committed three fouls in his first seven minutes.