Bedard (6-12) struck out five and didn't issue a walk as he bounced back from a rough outing against the Cubs on July 30. It was just his second win in his last eight starts.
Andrew McCutchen went 2-for-4 and scored twice and Gaby Sanchez and Neil Walker each drove in a run for the Pirates, who are 13-6 over their last 19 games. Rod Barajas and Travis Snider had an RBI apiece in the win.
Wade Miley (12-7) allowed one run on six hits and struck out two over six innings to absorb the loss.
Paul Goldschmidt had the only two hits for the Diamondbacks, who have dropped three straight tilts.