Justin Martinez (1-0), the fifth Arizona pitcher of the game, picked up his first major league win.
The Reds have lost 11 of their last 12 games, including a three-game sweep by the Diamondbacks in Cincinnati last week.
Cincinnati scored twice in the eighth to take the lead. Jeimer Candelario singled to center on a play that was originally ruled a catch and a double play. But replay showed that Arizona’s Corbin Carroll trapped the ball, allowing Spencer Steer to score the tying run from second instead of being doubled off.
Mike Ford followed with a triple that bounced away from right fielder Jake McCarthy and scored Candelario easily.
Former Reds third baseman Eugenio Suárez put Arizona ahead 4-3 in the seventh with a two-out RBI single off Fernando Cruz (2-3), who escaped further damage.
Gabriel Moreno and Joc Pederson homered for Arizona, which returned from a six-game trip. The Diamondbacks chased Reds starter Graham Ashcraft after four innings but couldn’t come through with a two-out hit until Suarez did it in the seventh. Arizona stranded 14 runners in the game.
Jordan Montgomery pitched into the sixth for the Diamondbacks. He gave up six hits, walked three and struck out seven.
Pederson and Diamondbacks manager Torey Lovullo were ejected in the eighth inning by plate umpire Mark Carlson. Pederson was called out on strikes with two on and one out.
Ketel Marte’s first-inning single off the bag at first extended his hitting streak to 14 games.
NEXT
Cincinnati starts RHP Hunter Greene (1-2, 3.38) against Arizona’s Slade Cecconi (1-2, 4.15) on Tuesday.
About the Author