Arizona, who had been kept hitless for seven innings by Blake Snell on Tuesday, exploded for 13 hits on Wednesday to end a five-game losing streak, avoid a series sweep, and keep the Padres from gaining ground in the NL wild-card race.
Luke Weaver (3-3) took a shutout into the sixth inning in his first start in three and a half months. Pavin Smith and Ketel Marte each hit three times.
San Diego was tied with Cincinnati for the second wild-card spot at the start of the day. The Reds were defeated 5-4 by the Cardinals in the opening game of a doubleheader on Wednesday.
In the bottom of the third, Arizona sent 11 hitters to the plate.
Smith followed Marte's one-out single to left with an RBI double to left-centre. Smith scored on Darvish's wild pitch after David Peralta hit. VanMeter then hit his third home run of the season to make it 4-0.
One out later, rookie Jake McCarthy walked and stole his first base of the season, then came around to score on Nick Ahmed's left-field single. Weaver then hit a line drive to third base, and Manny Machado's throw went wayward, allowing the inning to continue. Darvish was removed from the game, and Josh Rojas, who had flown out to start the inning, welcomed Nabil Crismatt with a single to bring in the sixth run.
In 2 2/3 innings, Darvish (7-9) gave up eight hits and six runs, five of which were earned.
Weaver's shutout attempt came to an end in the sixth inning when Trent Grisham hit his 14th home run. The right-hander allowed four hits in six innings of work. He didn't walk anyone and struck out three batters.
To make place for Weaver in the rotation, Arizona manager Torey Lovullo announced before the game that Taylor Widener would be moved to the bullpen for the remainder of the season.
“We’ve got a great evaluation as a starter,” Lovullo said, according to the Associated Press. “We want to manage his workload a little bit. We’re going to put him there for the remainder of the season and we’re going to evaluate him as a reliever.”
With inputs from the Associated Press