Votto got a curtain call from Cincinnati fans and drove in three runs, Nick Senzel lined a two-run homer and Eugenio Suarez added a solo shot.
''There have been a lot of moments that surprised me in a great way,'' Votto said. ''The support they showed me was shocking. I didn't get teary-eyed, but I was emotional and grateful.''
''On the field, I was happy to get 300, but I was really just thinking of taking the lead and going ahead. That's what we're here for. It really made my day the way my teammates treated me,'' he said.
The Reds won for the third time in four games after losing seven in a row. The Cubs have lost six of their last seven.
Chicago scored twice in the ninth against relievers Carson Fulmer and Lucas Sims. Tejay Antone took over with two outs and got David Bote to ground out with the bases loaded for his first career save.
Votto connected for a two-run homer in the third, a 429-foot drive that reached a party area above the visitors' bullpen down the right field line to give the Reds a 3-2 lead.
Suarez gave a little hop of joy on his way to greet the 37-year-old Votto near the plate. The crowd didn't settle down until Votto stepped out of the dugout for a curtain call.
Wade Miley needed 65 pitches to get through the first three innings, but regrouped to finish five with 99. Miley (3-2) allowed two runs, one on Kris Bryant's seventh homer.
Jake Arrieta had yielded only two home runs and eight runs over his previous five starts, but the Reds reached him for three homers and seven runs in fewer than two innings.
Suarez snapped a 0-for-26 slump with a leadoff shot in the fourth. Senzel followed two batters later with a vicious line drive that barely cleared the left field fence for his first homer of the season.
Arrieta (3-3) , who pitched a no-hitter at Cincinnati in 2016, lasted a season-low 3 1-3 innings.
''Coming out, I knew from the get-go when I started warming up that I was off,'' Arrieta said. ''My timing, my body didn't feel good. I was dealing with a little cut on my right thumb. It's not a huge issue, but I couldn't throw the cutter at all. I tried to force it and gave up a couple of homers on it. That's my fault. I should've opted for something else and didn't.''
Votto is the ninth active player with 300 homers and the third to reach that level with the Reds, joining Hall of Famers Johnny Bench and Frank Robinson.
Former college infielder Senzel, the Reds' top pick and the No. 2 overall selection in the 2016 draft, made his first career infield start and third career appearance at second base on Friday.
Bote snapped a 0-for-14 slump with a sixth-inning single.
Cubs: RHP Trevor Megill went on the 10-day IL with a right forearm strain. The Cubs recalled LHP Kyle Ryan . C Willson Contreras left the game with tightness in his right thigh after his fifth-inning single.
Reds: 2B Jonathan India was scratched from the lineup and went on the 10-day IL with an undisclosed injury. He played once in three games after getting hit in the batting helmet by a pitch Sunday in St. Louis. The Reds recalled OF Mark Payton. ... OF Jesse Winker left the game in the seventh inning with tightness in his back. Manager David Bell said he hopes Winker will be back on Saturday.
Cubs: RHP Zach Davies (1-2) has allowed six or more runs in each of his last two starts against Cincinnati after yielding more than three just once in his first 11.
Reds: RHP Luis Castillo (1-2) has a combined 19.80 ERA in the first innings of his five previous starts and a 2.79 ERA after the first inning.
More AP MLB: https://apnews.com/hub/MLB and https://twitter.com/AP-Sports
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.