PHOENIX -- The Dodgers' patchwork lineup kept Los Angeles atop the NL West. Again.
"These are our guys," Dodgers manager Don Mattingly said. "We're just kind of scratching for every win we can get right now. We've been able to put a couple of runs on the board and we've pitched good. That's been the main thing."
|More on Dodgers-Diamondbacks|
|More MLB coverage|
Diamondbacks starter Wade Miley allowed four runs and eight hits in 6 2/3 innings, with four strikeouts.
Van Slyke went deep off Miley and Herrera hit his first big-league home run to chase Arizona's lone All-Star representative in the seventh inning to back Nathan Eovaldi, who got his first victory in his eighth start.
"Nice to finally get that first one out of the way," Eovaldi said. "I try to go out there and try to keep us as close in every ballgame as I can."
Eovaldi (1-5) lasted six innings and allowed a run on five hits with three walks and three strikeouts.
The Dodgers are in first place in the division despite missing three starters due to injury -- shortstop Dee Gordon will need surgery on his right thumb and miss six weeks, the club learned earlier Thursday. They lost 11 of 12 games last month before turning things around with four wins in their past five games.
"It really goes back to our pitching. They keep us in the game. They keep us close, and then you have a chance," Mattingly said. "Then it's a matter of getting a big hit."
Dodgers relievers Scott Elbert and Ronald Belisario combined on a scoreless seventh and eighth inning, and Kenley Jansen struck out the side in the ninth for his 15th save.
Arizona's club-record streak of 15 games with a home run ended.
"It stings now and yes, it is a broken record but we will get back," Diamondbacks manager Kirk Gibson said. "I will be in a good mood and we will go push ahead and play a good game."
The Dodgers got to Miley, Arizona's most effective starter this season, for two runs on four sharply hit balls in the first inning. Juan Rivera and Luis Cruz drove in runs with one-out hits.
Los Angeles second baseman Mark Ellis made his first start since May 18, when injured his left leg. Ellis finished 2 for 4 with a walk.
The Diamondbacks grounded into three double plays and Herrera made a pair of important running catches on sinking line drives to left field.
Gibson defended his two-time All-Star outfielder, Justin Upton, after Upton heard boos during Wednesday's game in which he went 0-for-5, stranding five runners on base, and afterward said he doesn't care about the fans. "I didn't read it that way. I think what he was saying was that he goes out and prepares. He's doing everything he can. It's all how you take the context of any quote," Gibson said. "I will say this about fans. Let's just stop if you're the fans and think about it. Do you want him to do good? Would booing in any way shape or form motivate somebody or help somebody? J-Up cares about everything that he does here. Trust me." There was barely a smattering of boos for Upton Thursday night after he went 2 for 4. Arizona LHP Joe Saunders will pitch in a rehabilitation assignment Sunday night at the Diamondbacks' training facility in nearby Scottsdale. Gibson wants to see Saunders, currently on the 15-day disabled list with a shoulder injury, get his pitch count up and build up his arm strength before he returns to the rotation.