LOS ANGELES — Blowouts or close games, the Arizona Diamondbacks keep on winning. Especially against the Los Angeles Dodgers.

Daniel Descalso homered and drove in four runs, and the Diamondbacks won 8-7 on Friday night for their 10th straight regular-season victory over their NL West rival.

It was Arizona's fourth one-run win this season.

"When you can stop the momentum, get the job done and win the game, it's pretty powerful," manager Torey Lovullo said.

At 10-3, the Diamondbacks are off to the best start in franchise history and own the National League's second-best record. Their 10-game winning streak against the Dodgers equals their second-longest versus any opponent in team history.

"We've got to beat them at least once before the season is over," Dodgers outfielder Matt Kemp joked.

During last year's playoffs, however, Los Angeles rolled to a three-game sweep of Arizona.

Zack Greinke (1-1) overcame a messy first inning against his former team and a back spasm before settling down and retiring 12 consecutive batters. The right-hander allowed four runs and five hits in 6 1/3 innings, struck out seven and walked one.

"I was nervous early and I got a little better starting in the fourth inning," Greinke said. "Might have been the first and second inning that I was missing one of my fastballs over the plate a little bit too much, but then from there on out the location was fine."

After trailing by five runs, the Dodgers scored in the sixth, seventh and eighth to close to 8-7.

"With that lineup over there, no lead's really safe," Descalso said. "They're a really good ballclub. We were able to just hold on."

In the ninth, Cody Bellinger singled with two outs off Arizona closer Brad Boxberger. Yasmani Grandal popped out to third base to end it, and Boxberger earned his fifth save.

Los Angeles is off to its worst start since 1994 when it also opened 4-8.

"It's not ideal, not what we expected," manager Dave Roberts said, "but we're playing some good teams. We're just not synced up."

Greinke served up a leadoff homer to Chris Taylor in the first that tied the game 1-all. After striking out the next two batters, Greinke gave up a single to Bellinger before hitting Grandal with a pitch in his right knee. Yasiel Puig struck out to end the inning.

Coming off a relief appearance against the Giants, Kenta Maeda (1-1) struggled in his second start of the season. He gave up five runs — two earned — and five hits in 2 2/3 innings. The Japanese right-hander struck out two and walked two.

Descalso's RBI single in the first gave the Diamondbacks a 1-0 lead.

They tacked on four runs in the third. Greinke scored on a bases-loaded wild pitch by Maeda, and David Peralta followed by scoring on a passed ball. Descalso added a sacrifice fly before Jarrod Dyson's RBI double chased Maeda and extended Arizona's lead to 5-1.

Descalso's two-run homer off Tony Cingrani with two outs in the seventh made it 7-2.

Swept in three games at Arizona last week, the Dodgers scuffled at the plate much of the game. After Bellinger homered with two outs in the sixth, they reverted to small ball.

The Dodgers got three runs in the seventh on RBI singles by Taylor, Corey Seager and Kemp — all with two outs — to close to 7-5.

Nick Ahmed homered in the eighth for Arizona to make it 8-5.

The Dodgers weren't done yet.

They trailed 8-7 in the eighth after pinch-hitter Chase Utley's single off Archie Bradley caromed off second base and into left-center, scoring Grandal, who singled, and Puig, who walked. Arizona turned an inning-ending double play to limit the damage.

TRAINER'S ROOM

Diamondbacks: 3B Jake Lamb (sprained left shoulder) worked in the batting cage and will take BP on the field Saturday. He could end up at Triple-A Reno for a rehab assignment. ... OF Steven Souza Jr. (right pectoral strain) is due to rejoin the team on Monday.

LUCKY DAY

The Diamondbacks ended their seven-game skid on Friday the 13th, dating to 2010, according to STATS. During that same span, the Dodgers dropped to 5-3 on that day.

CALL AT THE PLATE

Dyson struck out swinging leading off the eighth, but not before there was a break in the action while the umpires discussed whether the ball hit him. "The home plate umpire said the ball hit my bat. I guess he was still stoned from the ball hitting him," Dyson said. "I told him the ball didn't hit my bat, it hit my jersey or something." The third base umpire said Dyson swung at the ball, which he disputed. "They need to have a little bit more focus because everything out there that we do, it matters."

FIRST TO SCORE

The Dodgers fell to 0-7 when allowing an opponent to score first this season.

CLUTCH HITTER

Utley has been a boost off the bench so far, going 4 for 5 with two RBIs as a pinch-hitter.

UP NEXT

Diamondbacks: RHP Taijuan Walker (0-0, 3.27 ERA) starts Saturday. He is 2-1 with a 4.91 ERA in five career starts against Los Angeles.

Dodgers: LHP Rich Hill (1-0, 2.70) is 1-5 with a 4.78 ERA in nine career starts against the D-backs. He's limited batters to a .238 average.