PHOENIX -- Against Arizona, the Los Angeles Dodgers are the dominant team they are supposed to be. Against everyone else, not so much.
Los Angeles improved to 8-1 against Arizona this season, and the Dodgers are 15-19 against everybody else.
"They have outplayed us, outpitched us," Diamondbacks manager Kirk Gibson said. "The guy that beat us tonight has his best stuff going this year."
Dodgers manager Don Mattingly downplayed the dominance.
"There's teams you hit well as a player, you pitch good against," he said. "This is one of those teams we played well against this year. Hopefully that continues."
Greinke (7-1), in his longest outing of the season, allowed two or fewer runs for the 21st consecutive game, the longest such streak in the majors since at least 1914.
Asked how much he thinks about that, he said, "Not much, actually."
"It's not like one of the more important streaks," Greinke said. "It's not a real big deal."
He gave up five hits, struck out six, walked two and had an RBI double.
"I forgot how fun it is to catch him," said A.J. Ellis, just back from the disabled list.
Puig had three hits and drove in two runs. He and Van Slyke hit solo homers off Wade Miley (3-4) as the Diamondbacks fell to 4-16 at Chase Field.
Van Slyke does to Miley what the Dodgers do to the Diamondbacks. He is 7-for-16 in his career against the left-hander with four home runs, three this year.
Puig, who fell a triple shy of the cycle, extended his career-best hitting streak to 15 games.
"I'm trying to get hits and put a swing on good pitches," Puig said to reporters in Spanish. "I wasn't worried hitting for the cycle or anything like that."
Mattingly said Puig "is getting better all the time and he's getting closer to being that player that has a chance to make a huge impact."
Brian Wilson, who entered the game with a 10.22 ERA, pitched the ninth to complete the shutout.
The Diamondbacks have not led in any of their six home games against Los Angeles, two of them in Sydney, Australia, to open the season. Miley gave up four runs and seven hits in six innings, with three walks and three strikeouts.
Puig got the Dodgers going with a drive into the right-field seats on a 2-2 pitch from Miley with one out in third. It was his eighth home run of the season.
The bottom of the Los Angeles order accounted for two runs in the fourth. Van Slyke led off with a double, then scored on Ellis' single. Greinke followed with an RBI double to the gap in left-center. They were the first RBIs of the season for Ellis and Greinke.
Van Slyke hit Miley's first pitch in the sixth high off the batter's eye in center field, far above the 407-foot sign, and it was 4-0.
Gordon scored from first on Puig's double.
In the ninth, umpire Quinn Wolcott ruled that Miguel Montero had beaten out an infield hit but the Dodgers challenged and the call was reversed on review.
The Dodgers have won 15 of the past 19 games against the Diamondbacks. ... Puig has 33 RBIs. ... Miley has allowed 10 home runs, most of any Arizona starter. ... The Diamondbacks' Paul Goldschmidt struck out three times. ... Arizona's 17-year-old minor league pitcher Argeny Hiciano has been suspended for 50 games for testing positive for a banned substance. ... The Dodgers send LHP Clayton Kershaw (2-0, 1.74 ERA) to the mound Saturday, while Arizona's Chase Anderson (1-0, 1.69) makes his second major league start, first at home.