PHOENIX -- Everth Cabrera was a triple short of hitting the first cycle in the San Diego Padres' 45-year history on Saturday night when he drove in four runs in a 10-4 victory over Arizona at Chase Field.
Cabrera hit a two-run homer in the third inning and capped a five-run rally with a two-run double in the fourth after singling and stealing second base in the first. He grounded out in the sixth and reached on an infield error in the ninth.
San Diego and Miami are the only two franchises that have never had a player hit for the cycle.
Andrew Cashner (4-2) gave up four runs in the first three innings but only two hits in his final three innings for his third straight victory. He did not join the rotation until April 20.
Eric Chavez had a two-run homer, his sixth home run of the season, and drove in three runs for the Diamondbacks (27-22), who dropped into a three-way tie for the National League West lead with their third loss in four games.
Martin Prado and Gerardo Parra had three hits for Arizona.
Padres catcher Nick Hundley singled twice, drove in a run and scored twice. He has three hits in six at-bats in the series after entering in a 3-for-42 slide.
Cabrera has a career-high four home runs, one fewer than he had in his first four seasons combined, and leads the major leagues with 19 stolen bases. His steal in the first was the 100th of his career.
San Diego (22-26) broke a three-game losing streak and has won nine of its last 12 games at Chase Field.
Chavez's two-run homer with two outs in the first made it 2-0, but Cabrera tied it with his two-run homer off Wade Miley with two outs in the second.
Paul Goldschmidt singled in a run and Chavez hit a sacrifice fly to give the Diamondbacks a 4-2 lead in the third before the Padres scored five runs in the fourth, all coming with two outs.
Yonder Alonso, Cashner and Chris Denorfia had run-scoring hits off Miley, and Cabrera finished it off with a two-run double against reliever Tony Sipp.
Miley gave up hits to four of the five batters he faced after being struck in the back side by a sharp grounder from Jedd Gyorko for the first out of the inning.
Hundley singled in a run in a two-run fifth to make it 9-4.
NOTES: San Diego LHP Clayton Richard is expected to rejoin the rotation for a Monday start against Seattle. "You could probably speculate that Clayton is going to pitch on Monday," manager Bud Black said. Richard, 0-4 with an 8.54 ERA in six starts, has been on the disabled list with an intestinal virus since May 5. ... Arizona SS Didi Gregorius has made 19 consecutive starts, 18 while hitting second in the order, since being activated from the seven-day disabled list on May 5. He was hitting .323 during that stretch entering Saturday's game. ... San Diego CF Cameron Maybin began a rehab assignment at Class AAA Tucson on Friday but appears at least a week from returning to the major-league roster. Black said the Padres would like him to get at least 30 at-bats in the minors. Maybin underwent surgery for a right wrist impingement on April 17.