Buchholz (6-2) struck out six and walked one. His other complete games were a five-hitter in an 11-0 win on June 4, 2010, and a no-hitter on Sept. 1, 2007, his second big league start and appearance.
Adrian Gonzalez had three hits and two RBIs as Boston stopped a three-game losing streak. The Orioles had been 5-0 at Fenway Park this year.
Brian Matusz (5-6) allowed five runs — four earned — four hits and five walks in two-plus innings.
WHITE SOX 4, BLUE JAYS 3
CHICAGO (AP) — Orlando Hudson singled in the winning run with two outs in the ninth inning, lifting the White Sox to the victory.
Dayan Viciedo sparked the winning rally with a one-out single against Francisco Cordero (1-3). He advanced on a wild pitch and scored on Hudson's hit.
Addison Reed earned his first major league win as Chicago avoided a sweep and improved to 15-4 in its last 19 games.
Alex Rios hit a two-run homer and finished with three RBIs for the White Sox.
RAYS 7, YANKEES 3
NEW YORK (AP) — David Price struck out eight over five scrappy innings to become the AL leader in wins and Tampa Bay averted a three-game series sweep.
Price (8-3) finished his night by retiring two of the Yankees' most dangerous hitters with the bases loaded. Alex Rodriguez struck out after an 11-pitch at bat and Robinson Cano grounded out in six more, ending New York's best threat to cut into a four-run lead.
CC Sabathia (7-3) struck out 12 and matched a season high with 121 pitches for the Yankees, who lost for the fourth time in their last 14 games. Russell Martin of Chelsea, Que., homered in the ninth.
TIGERS 7, INDIANS 5
DETROIT (AP) — Miguel Cabrera homered, Brennan Boesch broke out of a slump with a pair of hits and Casey Crosby earned his first major league win.
Cleveland nearly rallied from a 7-1 deficit but, with the Tigers leading by two, the Indians left the bases loaded in the seventh and two on in the eighth.
Detroit avoided a three-game sweep and beat the Indians for the first time in six meetings this year.
Crosby (1-1) allowed three runs and five hits in 5 1-3 innings in his second career start. Jose Valverde pitched a perfect ninth for his 10th save.
Derek Lowe (7-4) allowed seven runs and nine hits in five innings.
ATHLETICS 7, RANGERS 1
OAKLAND, Calif. (AP) — Coco Crisp hit a solo homer and bases-loaded triple to match his season total for extra-base hits and Oakland won a series for the first time since May 4-6 against Tampa Bay. The Athletics outscored the Rangers 24-8 in winning three of the four games.
Brandon McCarthy (5-3) allowed one run and three hits in seven innings to improve to 5-0 with a 2.31 ERA in his past six starts. Yu Darvish (7-4) gave up six runs, six hits and six walks in 5 1-3 innings as Texas lost for the seventh time in nine games.