SAN DIEGO -- After a tough start, Dan Haren recovered just in time for the Arizona Diamondbacks.
Haren gave up two first-inning runs, but came back to pitch seven solid innings and lead Arizona to a 7-3 victory against the San Diego Padres on Wednesday night.
"I was disappointed in the way it started," Haren said. "I started a little flat in the beginning. I left the pitches in the middle of the plate."
One of those pitches was hit for a leadoff home run by Jody Gerut as the Padres took a 2-0 lead after the first and went up 3-1 in the fourth.
"My splitter got better as the game went on and I got a lot of strikeouts on it," Haren said. "All three hits in the first inning were splitters. By the fifth, sixth and seventh, it was my best pitch."
Haren (11-5) was backed by Chad Tracy and Mark Reynolds, who each drove in two runs. Tracy hit a go-ahead, two-run single for a 5-3 lead in the Diamondbacks' four-run fifth inning.
Reynolds and Chris Snyder hit successive solo home runs off Bryan Corey in the eighth. Tracy and Reynolds had back-to-back doubles in the second to account for a run.
Arizona maintained its one-game NL West lead over the Los Angeles Dodgers, 4-0 winners against San Francisco. The Diamondbacks, 5-1 on a 10-game road trip, will open a four-game series against the Dodgers on Thursday night.
"It's all about momentum, especially going into LA," Snyder said. "These guys aren't backing down. It's not going to be easy."
Haren won his third consecutive start. He allowed three runs and seven hits, the first time in nine starts he has allowed more than two earned runs. He struck out six, including four of the final five batters he faced.
Haren's ERA rose slightly to 2.62, still tops in the NL.
Arizona has won seven of nine.
The Diamondbacks took the lead with four runs in the fifth with the help of two San Diego errors.
"You've got to play better defense," said Padres catcher Josh Bard, who was charged with one of the errors. "Mistakes will bite you."
Haren also helped himself with the bat in the fifth inning. Alex Romero led off with a double and went to third on a throwing error by left fielder Chase Headley. Haren then hit a high hopper to third baseman Kevin Kouzmanoff, whose throw home deflected off Bard's glove for an error, allowing Romero to score and Haren to go to second.
Haren pulled up lame at second base with a cramp in his right hamstring, but remained in the game.
"He guaranteed me that he would take it easy coming home," Arizona manager Bob Melvin said. "Once he got on the mound, if he felt it, he said he would let me know. But it wasn't an issue."
Chris Young drove in Haren with a double to tie the score at 3. After a walk and an infield single, Tracy delivered his go-ahead single to chase Cha Seung Baek (5-3).
Gerut hit a home run off Haren leading off the first, a night after he was robbed of an extra-base hit with the bases loaded and two outs on a sensational catch by Romero in the eighth inning of Arizona's 3-0 victory.
Baek allowed five runs -- four earned -- and eight hits over 4 1/3 innings.
Gerut has two leadoff home runs this season, both coming in the past eight games. ... Haren pitched at least seven innings for the eighth consecutive start. ... Reynolds has been involved all three times the Diamondbacks have hit back-to-back home runs this season.