Pedroia's blast to left in the sixth inning broke a 2-2 tie and Will Middlebrooks added a two-run shot in the eighth to put the contest away as the Red Sox took the first of a three-game series.
Pedroia finished with three RBI for Boston, which logged its third straight win.
Buchholz (9-3) yielded three runs on five hits over eight frames, collecting his first victory since June 19. The right-hander walked two and struck out four.
Tigers starter Max Scherzer (10-6) was touched for five runs on seven hits in 6 1/3-innings.
Austin Jackson belted a solo homer for second-place Detroit, which came into the contest 1 1/2 games behind the American League Central-leading Chicago White Sox.