PHOENIX -- Jason Kubel hit a two-run single with the bases loaded in the last of the ninth inning to give Arizona its sixth walk-off victory and 17th in its last at-bat this season, 4-3 over Cincinnati on Saturday.
Paul Goldschmidt singled off first baseman Joey Votto's glove to open the ninth inning before closer Aroldis Chapman walked Miguel Montero and Cody Ross. Kubel lined a 1-0 pitch to right-center for his third career game-winning hit.
Cincinnati took a 3-2 lead in the top of the ninth on Jay Bruce's two-run home run off Heath Bell, who has given up home runs in his last five appearances.
Bruce, who had two homers and drove in all of the Reds' runs, has five homers in his last four games and has homered in six of his last seven games. He had a 472-foot homer in the second.
Brad Ziegler (4-1) replaced Bell in the ninth and got the victory.
Chapman (3-4) blew a save for the third time this season.
Cincinnati starter Mike Leake retired the first 17 batters before D-backs left-hander Patrick Corbin sliced a double down the left-field line on the first pitch he saw with two outs in the sixth inning.
Gerardo Parra followed with his seventh homer of the season for a 2-1 lead; it was his second homer in as many games. He had a career-high eight homers in 2011.
Leake gave up four hits, walked one and struck out one. He has given up three runs or fewer in seven of his last eight starts.
Corbin gave up three hits, including Bruce's 472-foot home run in the second inning, struck out five and walked four.
Bell's third blown save of the season deprived Corbin of his 10th victory on his fourth attempt. The bullpen has failed to hold three leads for him this season. His 2.19 ERA is fifth in the majors.
The D-backs (41-33) won their fourth straight game after losing their previous four.
Cincinnati (44-32) lost its third straight and fourth in its last five.
Parra had two hits, including a bunt single in the eighth inning, and has hit in 15 of his last 16 games.
Bruce's homer in the second inning struck the bottom of the message board in center field, which is about 410 feet from the plate and 55 feet above ground level.
Leake retired the first 17 batters he faced, all routinely, until Corbin's double broke up the perfect game.
Right-hander Homer Bailey threw the Reds' last no-hitter, beating Pittsburgh 1-0 on Sept. 28, 2012. Left-hander Tom Browning threw a perfect game against the Los Angeles Dodgers on Sept. 16, 1988.
Corbin allowed only one ball out of the infield in the first six innings: Bruce's homer in the second.
NOTES: D-backs RHP Ian Kennedy threw a simulated game Saturday, and manager Kirk Gibson said Kennedy will make his next start in Atlanta on June 29, the first day he is eligible to return from his 10-game suspension. ... 1B Joey Votto has played all 76 of Cincinnati's games, joining Philadelphia SS Jimmy Rollins and San Francisco RF Hunter Pence as the only NL players who have appeared in all their teams' games. D-backs 1B Paul Goldschmidt, INF Martin Prado and OF Gerard Parra have played in 73 of 74. ... Entering Saturday's game, Arizona starting pitchers had not won in their last 14 games, since LHP Wade Miley beat St. Louis on June 5.