Hendricks (3-2) allowed two runs on six hits, all over the first three innings. He permitted just one baserunner and no hits over his final three innings.
The Cubs (20-19) won their second straight over the Reds, and they will go for a series sweep in Thursday's finale. Cincinnati (19-20) took its season-high fifth loss in a row.
Cubs closer Wade Davis worked a perfect ninth for his ninth save.
Ben Zobrist went 2-for-3 with a double and a walk while Anthony Rizzo and Kyle Schwarber each had two RBIs.
Hendricks walked two and struck out four in a 107-pitch outing.
Reds right-hander Scott Feldman (2-4) worked just 2 2/3 innings, giving up seven runs (five earned) on five hits. He walked three and struck out four while throwing 88 pitches.
Chicago also claimed two of three in an April series at Cincinnati.
The Reds scored a seventh inning run off reliever Mike Montgomery, who saw an 18-inning scoreless streak snapped as Adam Duvall singled to left with two outs to drive in Zack Cozart to make it 7-3.
Right-hander reliever Pedro Strop was greeted by Eugenio Suarez's two-out double down the left field line to bring home Joey Votto and Duvall and make it 7-5.
The Cubs loaded the bases in the eighth with two out but reliever Raisel Iglesias escaped by striking out Schwarber.
Cozart went 3-for-5 with two RBIs while Duvall was 2-for-4 with one run batted in.
For the second night, the Reds jumped to a 1-0 lead as Billy Hamilton led off the first inning with a single, stole second and scored on Cozart's base hit to right.
The Cubs replied in the second as rookie Ian Happ walked, reached third on Zobrist's single and came home on Addison Russell's fielder's choice grounder to short.
But Chicago was hardly through. Jon Jay was hit by a pitch to load the bases and Schwarber punched a grounder down the right field line to bring home Russell and Miguel Montero for a 3-1 lead.
Feldman then walked Kris Bryant to again load the bases and Rizzo, the ninth batter of the inning, bounced a base hit to shallow right to bring in Jay and Schwarber for a 5-1 lead.
Cincinnati got one run back in the third on Cozart's lead-off homer to left, his fourth of the season.
Chicago had runners on second and third with one out in the third and Hendricks made it 6-2 when he brought home Zobrist with a successful sacrifice bunt. Jay followed with a single up the middle, scoring Montero to make it 7-2.
Feldman was then pulled, leaving with a runner on first for right-handed reliever Austin Brice who closed the inning on Schwarber's ground out to second.
NOTES: Nine Reds players have been on the disabled list this season. In the last four years, 41 different players have made 66 appearances. ... The Reds are expected to recall LHP Amir Garrett (3-2, 4.25) from Triple-A Louisville for a Thursday start against Cubs LHP Jon Lester (1-2, 3.45 ERA). ... Chicago called up RHP Pierce Johnson from Triple-A Iowa and optioned INF Jeimer Candelario to Iowa. Johnson was 2-0 with a 2.31 ERA in 12 Triple-A outings. ... Cubs manager Joe Maddon said he would mark his 1,000th career managerial victory, recorded Tuesday, by donating 1,000 meals to the homeless via service organizations in both Chicago and Tampa. ... Chicago RHP Wade Davis has not allowed a home run in relief in his last 64 1/3 innings since Sept. 24, 2015, the second-longest big league streak behind Baltimore LHP Zach Britton's 72-inning stretch.