"That was a hard game to enjoy, it really was," said the longtime manager who will retire at the end of the season. "It would never end. ... That would have been a tough one to swallow if we lost."
After the Braves blew a five-run lead, Brooks Conrad scrambled home to break a ninth-inning tie, banging into catcher John Hester while diving headfirst across the plate.
"He was kind of blocking the plate," Conrad said. "A situation like that you've got to do anything you can to score that run. So my thought process was if the ball beat me, I'd try to do something to jar it loose. He got the ball right in the web and I pretty much got there at the same time. There was enough of the plate to kind of get around him."
The speedy Conrad hit for David Ross, who had a double, single and two RBI. Conrad singled, stole second and beat right fielder Justin Upton's throw after pinch-hitter Brian McCann's one-out single off closer Chad Qualls (1-3).
"For only playing one inning, he got dirty," Cox said.
Jason Heyward and Eric Hinske also had RBI singles off Qualls. A sacrifice fly by Troy Glaus off Carlos Rosa capped the late burst.
Atlanta matched its season high with 16 hits yet still left 12 on base for a total of 47. The Diamondbacks struck out 16 times, a season high for them and for Braves pitchers. Arizona batters have struck out 570 times in 61 games, by far the most in the majors.
"We're long past it being a concern,. The more we talk about it, the more it happens, I think," said Arizona manager A.J. Hinch, who added a big understatement. "Probably lineup-wise we strike out a significantly amount more than we should."
Reliever Jonny Venters' throwing error on what should have been an inning-ending double play set up a three-run double by ex-Brave Kelly Johnson in the eighth that tied it at 7.
Peter Moylan (3-1) got the final out of the eighth for the win. He was on the mound when outfielders Nate McLouth and Heyward collided on a game-winning inside-the-park home run by Gerardo Parra in Wednesday night's 2-1 loss.
Arizona loaded the bases in the ninth against Billy Wagner, but Rusty Ryal and pinch hitter Chris Snyder struck out to end it.
Atlanta leadoff batter Martin Prado reached five times on three hits and two walks.
Tommy Hanson, looking for his fourth straight win, had a 7-2 lead when he left after 5 1/3 innings.
"He didn't get any breaks," Cox said.
Asked if Hanson throwing a season-high 121 pitches had anything to do with umpire Angel Hernandez's challenging strike zone, Cox said, "It was rough. That's all I've got to say."
Hanson's two-run single had been the highlight of a five-run Atlanta fifth inning. All five runs were charged to reliever Cesar Chavez in just two-thirds of an inning after erratic Dontrelle Willis was lifted with the game tied 2-2 through four.
Chris Young led off the Arizona seventh with his 10th home run, then Johnson singled and later scored on Stephen Drew's groundout to cut the lead to 7-4.
In the eighth, Venters walked Mark Reynolds with one out to bring up Ryal, who bounced to the pitcher for what looked to be an inning-ending double play. Venters, though, threw the ball into center field and both runners were safe. He regrouped to strike out Adam LaRoche, but walked Young to load the bases.
The lefty stayed in to face the left-handed hitting Johnson, who lashed an offspeed pitch just inside the right field line to clear the bases.
Willis, who was bothered by a torn fingernail, gave up two runs and three hits, throwing 95 pitches in four innings.
McLouth had the day off after his collision with Heyward on Wednesday night. McLouth's head slammed to the ground on the play. ... Willis had 3-0 counts on the first three batters and four of the first five. He walked three of them. .... The Braves are 4-4 on their longest trip of the season, which ends with three at Minnesota.