PHOENIX -- Andruw Jones missed the first fastball he saw leading off the ninth inning, then fouled off the second. The third one, he crushed.
"I had three of them to hit," Jones said, "and I finally hit one of them."
Jones' home run was his third in the nine games since the All-Star break, all on the road.
"Ever since everybody else went out of the lineup, Andruw just took off," manager Bobby Cox said. "Somehow, he just started flying. And the other guys have picked it up a notch, too."
Jones came up after Arizona had rallied with an RBI double from pinch-hitter Tony Clark to tie it at 2-all in the eighth. Diamondbacks manager Bob Melvin said sometimes the credit just goes to the opponent.
"He hits a chin-high fastball about 94 (mph) out of the ballpark," Melvin said.
Jones used to be known for getting home runs when they mattered least. That's not the case this year.
"I'm just getting opportunities, man," he said. "We're playing good baseball, and when opportunities come up, you try not to miss them."
Chris Reitsma (2-2) pitched the final 1 2/3 innings without allowing a run to get the victory.
Arizona starter Brad Halsey held the Braves without a hit through 5 2/3 innings and nursed a 1-0 lead into the seventh, when Julio Franco and Jeff Francoeur each doubled in a run to put Atlanta up 2-1.
Quinton McCracken, who had an RBI single in the sixth, drew a one-out walk from reliever Dan Kolb in the eighth, then scored from first on Clark's double.
The Braves walked nine batters.
"But we wiggled out of it, and that's the important thing," Cox said.
Halsey allowed two runs and four hits, walked one, hit a batter and struck out one in 7 2/3 innings. The left-hander, acquired from the Yankees in the Randy Johnson trade, didn't give up a hit until Rafael Furcal slapped a single up the middle with two outs in the sixth.
"It was a tough day," Jones said. "The lefty was pitching pretty good out there. We got some good swings off him, but we hit them right at people or we fouled them back. It was a tough day, but I'll take the way it ended."
Despite losing for the third time in four games, Arizona is just 3½ games behind San Diego in the weak NL West. Melvin has heard enough about that, though.
"We have to get some momentum and get on a roll and quit looking at the scoreboard to see if San Diego lost, because that's kind of a defeatist attitude," he said. "We have to win."
The Diamondbacks couldn't give Halsey any help against Jorge Sosa, who got the start after Mike Hampton aggravated his strained lower back getting out of a hot tub on Tuesday. Sosa allowed three hits, struck out five and walked four in five scoreless innings.
Atlanta reliever John Foster walked Shawn Green to start the sixth. Green stole second, then advanced to third on Chad Tracy's groundout. McCracken followed with a first-pitch single up the middle and Arizona led 1-0.
The lead didn't last long. Jones was hit by a pitch, then scored from first on Franco's double to tie it at 1. With two outs, Francoeur doubled home Franco to make it 2-1.
Arizona had runners on base in each of the first five innings, and in scoring position in all but one of them, yet failed to score.
Chipper Jones was a last-minute scratch from Atlanta's lineup after experiencing soreness in his left foot during batting practice. He grounded out as a pinch-hitter in the seventh. ... McCracken is 7-for-14 on the homestand with four RBI. ... With his no-decision, Sosa remained 5-0 on the road this season, second only to Chris Carpenter's 7-0 mark for St. Louis. ... Halsey reached base on a hit and a walk, and was robbed by Furcal's spectacular catch at shortstop in the sixth.