PHOENIX (AP) -- That dry desert air brought out the best of the Los Angeles Dodgers offense, especially Adrian Gonzalez.
Gonzalez homered for the fourth consecutive game and the Dodgers beat the Diamondbacks 8-6 on Sunday to complete a three-game sweep.
Gonzalez's three-run shot off Trevor Cahill (0-4) in the third inning gave him 10 RBIs in the series. He has 27 career home runs and 87 RBIs against the Diamondbacks, most among active players.
"Man, he's smoking the ball," teammate Matt Kemp said. "He's probably the best hitter in the league right now."
Kemp and Juan Uribe also homered for the Dodgers, who scored 22 runs in the series.
"This is a good place to hit," Gonzalez said. "You go out here and take BP (batting practice) and the ball carries out of the ballpark. You take some of those swings and it kind of makes you feel better as a hitter."
Dan Haren (2-0) allowed three runs in 5 2-3 innings to get the victory.
Mark Trumbo hit a three-run home run and Eric Chavez had a solo shot for the Diamondbacks, who are off to a 4-11 start.
Dee Gordon stole a career-best four bases, the most by a Dodger in a game since Rafael Furcal did it against Arizona in 2007.
"He's always been able to do that," Dodgers manager Don Mattingly said, "but now he's getting on base a lot. He's walking and he's getting his hits. That's what really changes the dynamic."
Cahill failed to make it through the fifth inning for the third time in his four starts.
He went four innings plus two batters, allowing seven runs -- six earned -- on seven hits. Cahill struck out eight but walked five.
Asked why Cahill can be good for a stretch then fall apart, Arizona manager Kirk Gibson said, "I think you'd have to ask Trevor that. I don't have an answer for you."
Cahill said the walks were a big problem, and that one pitch to Gonzalez.
"I made a mistake and Adrian's been swinging it good this series," Cahill said. "I kind of got away from the game plan with him and left a pitch down and in, right in his sweet spot."
Haren scattered nine hits, striking out five and walking one.
Kenley Jansen pitched a perfect ninth for his fourth save and second in as many games.
The Dodgers led 8-3 before Trumbo's sixth home run of the season, off Jamey Wright with two outs in the seventh, cut it to 8-6.
Gonzalez, who also doubled, had an extra-base hit for the eighth consecutive game, one shy of the franchise record. Ten of Gonzalez's 14 hits this season have gone for extra bases.
Kemp's line shot into the Arizona bullpen down the left field line put the Dodgers up 1-0 in the second.
Gordon walked to start the fourth, then stole second and third. Yasiel Puig walked and Hanley Ramirez bounced one high off the plate to Cahill, beating the throw to first for an infield RBI single. Gonzalez hit a 1-1 pitch into the right field seats to bring in three runs and Los Angeles led 5-0.
Arizona got three in its half of the third. Parra led off with a double and scored on Aaron Hill's triple to the left-center gap. Goldschmidt's groundout scored Hill, then Chavez skied one to the right field seats on the first pitch to cut the lead to 5-3.
In the fifth, Cahill walked Ramirez, then Gonzalez lashed a double to right and the Arizona right-hander's day was over. Randall Delgado, who just lost his spot in the rotation, came on in relief. Gonzalez scored on Andre Ethier's groundout, then first baseman Paul Goldschmidt couldn't snag a high bouncer for an error that brought in the Dodgers' seventh run.
Parra recorded the first right field-to-first putout in Diamondbacks history when he threw out Haren after the pitcher appeared to have singled. It was the first throw-out at first from the right fielder in the majors in two seasons.
NOTES: The Dodgers struck out 15 times and were outhit 13-7. ... Gordon, who has nine steals, stole second in the sixth while Delgado was kicking the rubber and not paying attention. ... The Dodgers have Monday off, then open a three-game series in San Francisco on Tuesday. ... The New York Mets begin a three-game series at Arizona on Monday night. Josh Collmenter (0-0, 2.25 ERA) comes out of the bullpen to start for the Diamondbacks, Zack Wheeler (0-2, 2.25) goes for the Mets.