With two outs and two on in the top of the ninth inning, lefty reliever Caleb Smith delivered a changeup over the plate to J.D. Davis.
Davis, one of the most productive players to switch teams at the trade deadline, punished it.
The veteran infielder lined a double down the left field line to score Mike Yastrzemski from third and give the Giants a one-run lead.
Then Camilo Doval extended his scoreless appearance streak to 10 by touching 104 mph on the gun and earning his 25th save, following up an impressive first impression from Shelby Miller.
Davis’ go-ahead RBI single, plus three home runs, pushed the Giants to a 6-5 victory — their fifth straight. San Francisco (74-77) brought their bats from thin-air Denver to dry-heat Phoenix, and it showed. And their pitchers fanned 16 Diamondbacks, matching Arizona’s season-high.
Brandon Crawford and Austin Wynns each hit solo home runs to give San Francisco and Rodón a quick 2-0 lead.
Rodón reclaimed the National League lead for strikeouts with his fourth in the second inning and finished with seven. But the Diamondbacks fouled off enough pitches to drive him out of the game after 4.1 innings.
While he was pitching, Rodón appeared to periodically check his throwing hand. He had eight days between starts because of a blood blister and split nail. It likely affected his arsenal; 65 of his 93 pitches were fastballs.
And as Rodón’s pitch count rose, the Diamondbacks erased San Francisco’s early lead. One of their several exciting rookies, Stone Garrett, barreled a high Rodón fastball — an impressive feat — for a 402-foot blast. Garrett’s homer tied the game at 2-2 after three innings.
But San Francisco’s promising rookie matched Arizona’s right away.
Villar met an 0-2 Henry curveball over the middle of the plate and tanked it on a line just over the left field fence. The two-run homer broke the tie Garrett had given Arizona.
It was Villar’s seventh home run in 44 games with the Giants. Six of those have come in 21 September contests. The power, after a slow start to his debut season, is translating.
Arizona rallied in the fifth for three runs against Rodón and reliever Yunior Marte to tie the game again at 5-5.
Shelby Miller became the 64th player to appear in a game for the Giants this year — matching a franchise record — and fanned seven in 2.2 scoreless innings. He left Alex Young with a base runner in the eighth, but LaMonte Wade Jr. made a leaping catch at the warning track to keep the score deadlocked.
Then came Davis’ clutch hit, Doval’s continued dominance, and another Giants victory.