PHOENIX -- Dan Haren slipped and fell after delivering a pitch in the eighth inning. It was one of very few stumbles for the right-hander all night.
Haren outpitched Derek Lowe and the Arizona Diamondbacks took advantage of second baseman Kelly Johnson's error to score four times in the fourth inning on their way to a 5-2 victory over Atlanta on Thursday.
"He can control a game," Diamondbacks manager A.J. Hinch said of Haren. "It's a sight to see when he competes. He executes pitches, he's got a game plan. He doesn't back down. He thinks along with the hitters."
Haren (4-4) retired 15 in a row before a two-out double by Johnson and an RBI single by Casey Kotchman in the eighth inning. The last batter Haren faced was Chipper Jones, who had doubled in a run earlier in the game. Jones struck out looking.
"That was one of the best balls I threw all night," Haren said. "He's a tough guy to strike out. He's given me some trouble over the years. I knew I had to make a perfect pitch and I knew it was probably my last batter, too, so I dug in deep and made the pitch."
He allowed two runs and seven hits in eight innings, striking out eight to earn his first victory in four starts.
"We hit the ball really good early in the game," Atlanta manager Bobby Cox said, "and later on Haren got really tough. ... You can say `Well, we didn't hit the ball tonight,' but he was hard to hit at. A lot of teams wouldn't have hit him tonight at all."
Haren has not walked a batter in his last three outings. He's walked nine all season, with 71 strikeouts.
Lowe (6-3) gave up five runs, three earned, and a season-high 10 hits for the Braves, who were swept in three games in San Francisco before opening a four-game set in Arizona.
"I pitched poorly pretty much the whole game," Lowe said. "That was pretty much a grind from the first pitch all the way through. I was just fortunate to not give up any more runs."
Justin Upton singled three times for the Diamondbacks to raise his average to .346. The 21-year-old outfielder has hit safely in seven straight games and 30 of the last 33.
The error by Johnson on what looked to be a double play cleared the way for Arizona's big fourth.
"I was just trying to catch the ball first and make the best play possible after that, whether that's to go to second or go to first, but it just kind of hopped up on me and I didn't catch it," Johnson said.
The miscue left runners at first and second with no outs, and Mark Reynolds doubled to right-center on the next pitch to bring home both runs.
Reynolds, Byrnes and Roberts each had two hits. Byrnes tripled and scored on Chris Young's sacrifice fly to give Arizona a 1-0 lead in the second.
The Braves tied it in the third when Jones doubled in Johnson.
Haren fell on a 1-0 pitch to Jordan Schafer leading off the eighth. After talking to trainers, he got back on the mound and struck Schafer out.
Haren said he rolled his foot in a hole that Lowe creates in his landing area.
"It scared me for a second," he said. "Once I stood up I knew I was fine."
After the game, Arizona optioned LHP Doug Slaten to Triple-A Reno, with a corresponding roster move to be made Friday. ... Atlanta SS Yunel Escobar was scratched, missing his sixth straight game with a strained right hip flexor. ... Arizona 2B Felipe Lopez missed his fifth straight game with a sore hamstring. ... Jones was coming off the first four strikeout game of his career.