Corbin (4-0) yielded five hits, walked three and struck out seven, notching a sixth straight start in which he has gone at least six innings with two or fewer earned runs.
A.J. Pollock went 2-for-4 with three RBI, including a two-run double to highlight a six-run second inning as the D-backs snapped a four-game losing streak.
Paul Goldschmidt drove in two runs for Arizona.
Padres starter Clayton Richard (0-4) was lit up for seven runs (five earned) on seven hits and four walks over 3 2/3 innings.
Chris Denorfia smacked a solo homer for San Diego.