PHOENIX -- Chipper Jones only needed a handful of at-bats to begin looking like the guy who is leading the major leagues in hitting.
"I was feeling very rusty early if you saw the first couple of swings," Jones said. "That's to be expected after going 15 days and not seeing a pitch. But it came back quickly."
Out since July 24 with a strained left hamstring, Jones raised his batting average to .371.
More importantly, he didn't feel any pain in his legs "for the first time in months."
"I don't know if I'll be able to put any deodorant on in the morning," he said. "I'm pretty sore. But we'll see how it goes."
Martin Prado went 3-for-4 with two doubles, a triple and three RBI, and Casey Kotchman also had three hits for the Braves, who have won three of their last four.
"We were fortunate to string some at-bats together," Kotchman said.
Jorge Campillo (7-4) gave up five runs and eight hits over 6 1/3 innings to win his fourth consecutive decision. Campillo struck out five and didn't walk a batter for the second straight start.
"The only squared up about five balls all night and that was good enough for me," said Braves manager Bobby Cox. "We finally got him a few runs to work with."
Jeff Bennett pitched the last two innings, surrendering Tony Clark's RBI single in the ninth, for his third save in as many chances.
Alex Romero went 3-for-4 with a double and a triple and Stephen Drew homered for the Diamondbacks, who lost their third straight.
"Usually if we get four or five runs we typically win," said Arizona manager Bob Melvin. "That hasn't happened the last couple of nights."
The Braves scored two runs each in the second and third innings and four runs in the fifth off Arizona starter Doug Davis (4-7) and reliever Billy Buckner, opening an 8-1 lead before the Diamondbacks rallied.
Romero tripled and scored on Chris Snyder's sacrifice fly in the fifth, Conor Jackson hit an RBI double and scored on Mark Reynolds' sacrifice fly in the sixth, and Snyder drove in Romero with a double in the seventh to make it 8-5.
But Yunel Escobar led off the ninth with an infield single and Jones followed with his 19th home run onto the porch overhanging the center-field fence to give the Braves a 10-5 lead.
Bennett also chipped in, driving home Omar Infante with a ground-rule double.
Drew gave the Diamondbacks a 1-0 lead when he hit Campillo's third pitch into the right-field stands for his first career leadoff home run.
The Braves' offense took over from there. Prado drove in two runs in the second with a ground-rule double, and Infante hit a two-run double in the fourth for a 4-1 lead.
"He's some kind of hitter," Cox said of Prado. "He's hit .300 his whole life. Wherever he goes, he hits .300."
Atlanta extended its lead to 8-1 in the fifth on RBI doubles by Brian McCann and Prado and a two-run single by Kotchman.
Davis surrendered a season-worst seven runs on nine hits with four walks.
"I'm having a tough time right now but I'll battle through it, just like anybody else," Davis said. "I'm just going to grind out and keep trying to make my pitches. You can't really stress about it and try harder because it will just get worse."
Lyon has allowed five runs on eight hits in his last two outings, each lasting an inning. ... Bennett's double was his second hit in nine at-bats this season. ... Infante has hit safely in 13 of 16 games since coming off the disabled list July 23. ... Davis has allowed 12 runs on 15 hits over six innings in his last two starts. The outing before that, Davis carried a perfect game into the seventh at San Diego. ... Braves RHP Tim Hudson underwent Tommy John surgery on Thursday, performed by Dr. James Andrews. Hudson went 11-7 with a 3.17 ERA in 22 starts before leaving his July 23 outing after six scoreless innings.