PHOENIX -- Arizona's string of seven straight one-run games came to an end. This one was just as hair-raising, though.
Drew had an RBI single in the first inning and a three-run triple in Arizona's five-run fourth.
Atlanta loaded the bases with one out in the eighth and ninth innings, yet came away with just one run.
"I thought we were going to pull it off," Braves manager Bobby Cox said. "We swung the bats great tonight. We're not going to swing them much better than that. We were just one hit away."
Chad Qualls walked the bases loaded with one out in the ninth.
"I don't know the last time I can remember that I actually walked three guys in an inning," Qualls said. "I was just out there trying to throw the ball down the middle to be honest."
Qualls got his 11th save in 15 tries when Yunel Escobar hit sharply into a double play.
"Never a doubt," Arizona's Dan Haren joked. "The good thing about him is that he's always one pitch away. He's got a great sinker, one of the best in the game."
After his team surrendered lead after lead this season, Arizona manager A.J. Hinch wasn't going to quibble.
"We'll take it," he said. "It wasn't necessarily pretty or how we drew it up but look, at this point, the way that the bullpen has thrown throughout the year, at the end of the day I'm going to take the zero."
Derek Lowe (8-5), winner of his previous three starts, gave up seven runs and eight hits in four innings, his shortest outing of the season.
Haren (6-4) got his first win in four starts, although he was far from his best. He scattered nine hits and walked two, allowing three runs in 5 2/3 innings. The Braves stranded 12 runners.
"They made me work hard and got me out of the game," Haren said, "and we did the same to their pitcher."
Despite their brief appearances, Lowe threw 96 pitches and Haren 114.
"It was definitely a weird game," Lowe said.
The Diamondbacks returned from an 0-9 road trip, and a 10-game losing streak, to win three of four.
The Braves were opening a four-game series after splitting four in Los Angeles, where their nine-game winning streak came to an end four games ago.
Reynolds started Arizona's fourth-inning onslaught with a solo shot on a 1-1 pitch into the seats in left-center, the first home run Lowe surrendered in five games. Chris Young's single, followed by walks to Chris Snyder and Kelly Johnson, loaded the bases with two outs.
Conor Jackson dribbled a grounder up the middle that the shortstop Escobar ranged far to his left to field. He tried to flip the ball backhand to second as he ran away from the base, but it sailed away from Martin Prado and a run scored.
"The way it stays open for me to get up is Conor's hit right there," Drew said. "It was kind of a bigger hit."
That brought up Drew, who lashed the first pitch into the right field corner to clear the bases on his sixth triple of the season, tied with Philadelphia's Shane Victorino for most in the majors.
Atlanta loaded the bases with one out against reliever Carlos Rosa in the eighth. Aaron Heilman came on and hit David Ross with a pitch to bring in a run and make it 7-4. Prado flied to right, and the Braves decided not to test Justin Upton's arm. Upton's throw was up the line but by then it was too late. Omar Infante bounced out to the pitcher to end the inning.
Atlanta 3B Chipper Jones took a cortisone shot and could return to the lineup on Tuesday. Jones has missed five games with inflammation in his right ring finger. ... Haren worked eight scoreless innings in a 1-0, 10-inning loss at Los Angeles on June 1. ... Johnson's leadoff single in the first was his first career hit against Lowe in 13 at-bats. ... Lowe had allowed four runs combined in his previous three starts.