Haren gave up two first-inning runs, but came back to pitch seven solid innings and lead Arizona to a 7-3 win over 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 homer 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."
Arizona maintained its one-game NL West lead over the Los Angeles Dodgers, 4-0 winners over San Francisco. The Diamondbacks, 5-1 on a 10-game road trip, 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 straight start as 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."
Gerut homered 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 win.
Baek allowed five runs -- four earned -- and eight hits over 4 1/3 innings.
Gerut has two leadoff homers this season, both coming in the last eight games. ... Haren pitched at least seven innings for the eighth straight start. ... Reynolds has been involved all three times the Diamondbacks have hit back-to-back home runs this season.