Ahmed's single off J.J. Hoover (1-8) gave the Reds their ninth loss in 10 games since the All-Star break, a slump that has dropped them below .500 for the first time since June 21. The offense has been the problem, scoring only 17 runs in those 10 games, by far the fewest in the majors.
"Just nothing was falling in for either team, really," Ahmed said.
Oliver Perez (1-1) gave up a hit and a walk in two innings. Addison Reed got his 25th save in 30 chances.
Cincinnati's Aroldis Chapman fanned the side in the ninth, extending his major league record for a reliever to 44 consecutive games with at least one strikeout. One of his pitches was clocked at 104 mph.
Devin Mesoraco led off the second with his 17th homer off rookie Chase Anderson, ending a streak of three straight games at Great American without a homer -- the longest in the ballpark's 12 seasons. Miguel Montero singled home the tying run in the fourth off Homer Bailey, who gave up five hits in eight innings.
Anderson allowed three hits and matched his career high with eight strikeouts in seven innings, retiring the last 11 batters he faced.
Arizona right fielder David Peralta saved a run in the fourth with a diving, backhand catch of Brayan Pena's fly ball. He doubled up Chris Heisey at first base.
Reds manager Bryan Price batted Jay Bruce second, trying to get his lineup out of a slump. Bruce went 0 for 4 with three strikeouts and a pair of walks.
TAKE A LOOK
Arizona is asking for a review of a call in Sunday's 4-2 loss to the Phillies. Catcher Miguel Montero was called for blocking the plate on Ryan Howard, violating a rule enacted this season. Manager Kirk Gibson contends that Montero, who initially set up in front of the plate, went into the baseline to get the throw. Gibson hopes that the play leads to a clarification of the rule.
Many of the 30,288 fans flashed their cell phone camera lights during extra innings and did the wave to amuse themselves.
JUMBO VS. TRUMBO
Reds reliever Jumbo Diaz faced Mark Trumbo in the 12th and gave up a single that ended a streak of 14 consecutive Diamondbacks retired.
Arizona's Martin Prado went 0 for 5, ending his six-game hitting streak. ... Mesoraco's 17 homers are the most by a Reds catcher since David Ross hit 17 in 2007. ... Zack Cozart extended his slump to 0 for 22, matching his career high from the start of this season. ... Chapman has struck out the side nine times this season. ... Todd Frazier struck out four times. The Diamondbacks struck out a season-high 18 in all.
Diamondbacks: INF Jordan Pacheco was activated off the 15-day DL. Arizona claimed him off waivers from Colorado on June 12. He went 3 for 8 as a pinch-hitter before developing shoulder tendinitis. INF Nick Evans was placed on unconditional release waivers.
Reds: RH Logan Ondrusek is still resting his sore right shoulder, which landed him on the 15-day DL on July 22. Manager Bryan Price said he's still got some soreness.
Diamondbacks: Trevor Cahill (1-7) is trying to get his first victory as a starter this season. He's 0-5 in six starts. He also has made 15 relief appearances, going 1-1. ... Aaron Hill is expected back on Tuesday. He was out of the starting lineup the last two games with a bruised right hand, which was hit by a pitch. He has a 10-game hitting streak.
Reds: Mike Leake (7-9) is 3-0 in six career starts against Arizona.