India, one of the leading candidates for NL Rookie of the Year, drove Aaron Nola's third pitch deep to left-center for his 15th homer. He also singled and scored on Shogo Akiyama's two-run double in the third and singled and scored again on Tyler Naquin's bases-loaded walk in the fifth.
"He sets the tone," Cincinnati manager David Bell said.
Tyler Stephenson added a two-run homer for Cincinnati, which took two of three in the weekend series. Stephenson's pinch-hit drive capped the Reds' three-run eighth.
"Lot of big plays in that game," Bell said. "It was a great team win."
Bryce Harper drove in two runs and walked three times for Philadelphia, which lost for the fourth time in six games. Odubel Herrera had three hits.
The Phillies dropped into second place in the NL East, a game behind the Atlanta Braves.
"We have a long ways to go," Harper said. "Just have to keep going, keep plugging along."
Lucas Sims (5-2) pitched 1 1/3 scoreless innings for the win, and Mychal Givens got four outs for his third save.
Nola (7-7) was charged with four runs and six hits in 4 1/3 innings. He struck out four and walked three.
"He struggled putting guys away," Phillies manager Joe Girardi said. "It's execution, that's all."
Cincinnati had a chance to blow the game open in the fourth, but Nola escaped a bases-loaded, no-out jam thanks to a stellar diving stop by shortstop Didi Gregorius that led to an inning-ending double play.
Harper's base-loaded walk and Gregorius' sacrifice fly got the Phillies within one in the fifth. But the Reds put it away with three in the eighth.
Y'ER OUTTA HERE
Reds slugger Nick Castellanos and Bell were ejected in the first inning after Castellanos was called out on strikes. Umpire Sean Barber tossed Castellanos after he turned and argued the call, and Bell was thrown out by third-base umpire Alan Porter for continuing the disagreement.
HITS KEEP COMING
Nola plunked Kyle Farmer in the fourth, upping the Reds' season total to 87 hit batsmen. That's two short of the club record of 89, set in 2019.
Reds: OF Jesse Winker returned to the starting lineup after missing two straight games due to a lower back injury. But Winker was pulled after two at-bats, both flyouts, and replaced by Aristides Aquino to begin the bottom of the third. Bell said he left with the same injury that sidelined him the last two days and will be re-evaluated on Monday. ... OF Nick Senzel was reinstated from the 60-day IL and then optioned to Triple-A Louisville. Senzel had knee surgery in May.
Phillies: RHP Chase Anderson (right triceps tendinitis) was activated from the 10-day IL, and RHP Adonis Medina was optioned to Triple-A Lehigh Valley. ... RHP Sam Coonrod (right forearm tendinitis) will begin a rehab assignment Tuesday at Lehigh Valley.
Reds: Open a seven-game homestand Monday night against the Cubs, with LHP Wade Miley (9-4, 3.00 ERA) opposing Chicago LHP Justin Steele (2-1, 2.95 ERA).
Phillies: Start a six-game trip at Arizona on Tuesday night. Philadelphia will send RHP Kyle Gibson (8-4, 2.91 ERA) to the mound. The Diamondbacks haven't announced their starter.
Tyler Stephenson's HR gives Reds 2 insurance runs
Tyler Stpehenson hits a 2-run homer to left in the eighth inning, putting Cincinnati up 7-3 vs. Philadelphia.