Brandon Crawford added a three-run homer and Michael Morse hit a two-run shot for the Giants, who won the final two games of this series to end a seven-game road trip with five wins.
Pablo Sandoval added three hits and scored two runs for San Francisco, which improved its major league-best record to 39-21, having won 10 of its last 13 contests.
The Giants have been riding the hot arm of Bumgarner (8-3) recently. The lefty, who struck out five and didn't walk a batter, has allowed just 10 earned runs in 47 innings over his last seven starts. He is 6-0 over that span, striking out 53 with five walks.
Over his last three outings, all wins, Bumgarner has yielded just two runs on nine hits, striking out 25 and walking one over 22 innings.
He retired the final 13 batters he faced in this contest and if it wasn't for Todd Frazier he would've been even better.
Frazier homered and ended with two of the Reds hits against Bumgarner, as Cincinnati has dropped consecutive games after winning four in a row.
After Frazier started the scoring with a solo homer in the first inning to give the Reds an early lead, the Giants took over, using the long ball against Reds starter Mike Leake.
Morse hit a two-run homer in the second to put San Francisco on top. Then, in the fourth, Crawford unloaded with a three-run blast for a 5-1 cushion. Sandoval began both innings with a base hit and scored on each homer for the Giants.
Leake (3-5) suffered the loss, allowing a season-high five runs on eight hits in five innings. The right-hander struck out six and walked just one. It was his shortest outing of the season.
George Kontos tossed a 1-2-3 ninth to wrap up the win.