Buchholz (6-2) threw 125 pitches in blanking the Orioles, who were shut out for the second time in six games after having scored in every contest through the first two months of the season.
Boston scored twice in each of the first three innings to snap a three-game losing streak. Buchholz did not allow a runner past second base while walking one and striking out six.
Adrian Gonzalez had three of Boston's nine hits and opened the scoring with a two-run double in the first.
The Red Sox scored twice in the second on a throwing error by Baltimore second baseman Robert Andino and Daniel Nava contributed a two-run single in the third.
Brian Matusz (5-6) worked only two innings in taking the loss. He gave up four runs on four hits with five walks.
Buchholz threw a shutout during his rookie season in 2007 and had another one two years ago. This was the fourth complete game of his career.