Adrian Wyld, Associated Press
Blue Jays pitcher Roy Halladay throws against the Yankees on Friday. He held them to two hits.

TORONTO — Roy Halladay threw a two-hitter and Matt Stairs and Rod Barajas homered to lead Toronto to a 5-0 victory over New York on Friday night.

Halladay (11-6) won his third straight start and threw his major league-leading seventh complete game. He struck out eight and walked one. The right-hander, who has 11 career shutouts, is 8-1 over his past 12 starts.

The Blue Jays extended their home winning streak to a season-high six games.

Playing in their third city in as many nights, the Yankees put just two runners in scoring position against Halladay. Leadoff hitter Brett Gardner was hit by a pitch and stole second in the first, and Derek Jeter hit a ground-rule double in the ninth.

The only other hit was Alex Rodriguez's one-out single in the fourth.

Joba Chamberlain lost for the first time in eight starts since joining the Yankees' rotation on June 3. Chamberlain (2-3) allowed three runs and seven hits and matched season highs by striking out nine in 6 2-3 innings.

ORIOLES 7, RED SOX 3: At Boston, Brian Roberts was a home run short of the cycle as Baltimore beat Clay Buchholz in his first start against them since his no-hitter last season.

The Orioles snapped a five-game losing streak by handing Boston a rare home loss.

Brian Burres (7-5) allowed three runs and six hits, leaving with a 4-3 lead with one out in the seventh.

Buchholz (2-4) retired just one of the first five batters he faced and gave up four runs, five hits and five walks in five innings.

George Sherrill came on with two outs and two on in the ninth. He walked Dustin Pedroia before striking out Kevin Youkilis to earn his 28th save.

Roberts led off the game with a double, stole third and scored on a sacrifice fly. In the fifth, he had an RBI triple and scored on Aubrey Huff's sacrifice fly to make it 4-3.

The Red Sox returned to Fenway Park from a 3-7 road trip to sweep Minnesota and — even with Friday's loss — their 34-11 home record is the best in the AL.

INDIANS 5, RAYS 0: At Cleveland, Cliff Lee pitched six stellar innings and Cleveland extended Tampa Bay's season-high losing streak to five games.

Jhonny Peralta hit a two-run homer and an RBI double off James Shields (7-6) as the Indians beat the Rays in Cleveland for the 11th consecutive time since Sept. 29, 2005.

TWINS 3, TIGERS 2: At Detroit, Nick Punto drove in two runs and Minnesota's bullpen shut down Detroit.

Punto had RBIs in the fourth and sixth innings and Delmon Young added a sacrifice fly in the seventh.

Minnesota starter Glen Perkins (6-2) left after giving up Detroit's second run in the seventh. Relievers Jesse Crain, Matt Guerrier and Joe Nathan retired the next seven batters — three on strikeouts — to give him his second straight win.

Nathan earned his 26th save.

Alexi Casilla had three hits for the Twins, who have rebounded from getting swept in Boston by winning two straight in Detroit. Minnesota has won 18 of its last 23 games.

Rookie Armando Galarraga (7-3) gave up two runs and six hits in 5 2-3 innings. He hasn't won since June 18.

ROYALS 3, MARINERS 1: At Kansas City, Mo., Luke Hochevar allowed one run and five hits over seven innings and David DeJesus doubled in two runs for Kansas City.

Hochevar limited the Mariners to four singles over the first six innings, then Adrian Beltre opened the seventh with a double. Beltre went to third on a groundout and scored on Miguel Cairo's grounder.

Hochevar (6-7) struck out four and walked none.

Joakim Soria pitched a perfect ninth for his 25th save.

Felix Hernandez, making his first start since spraining his left ankle on June 23 and going on the disabled list, retired the first 10 batters he faced. The Royals got to Hernandez (6-6) with three two-out runs in the fifth.

RANGERS 7, WHITE SOX 2: At Arlington, Texas, Josh Hamilton drove in two runs and Luis Mendoza struck out eight over six innings for Texas.

Hamilton went 3-for-5 and including his major league lead with 93 RBIs. He has driven in 11 over his last seven games.

Mendoza (2-3) allowed three hits and one walk to win for the first time in six starts.

Gavin Floyd (10-5) lasted 2 2-3 innings in his shortest outing of the season for the White Sox. Floyd, who was 6-1 in his previous eight starts, walked a career-high seven and allowed six runs.

Jim Thome hit his 524th homer in the seventh for the White Sox, who had won 11 of 14.

Texas' Ian Kinsler extended his hitting streak to 23 games, tying teammate Michael Young for the longest in baseball this season. David Murphy and Chris Davis homered for Texas.

Eddie Guardado got Paul Konerko to fly out with the bases loaded in the ninth for his second save.

ATHLETICS 9, ANGELS 2: At Oakland, Calif., Sean Gallagher allowed two hits over seven innings in his Oakland debut and fellow newcomer Mike Murton drove in two runs. Both players were acquired by Oakland earlier in the week as part of a six-player trade that sent pitchers Rich Harden and Chad Gaudin to the Chicago Cubs.

National League

METS 2, ROCKIES 1: At New York, Damion Easley's eighth-inning homer carried New York to its seventh straight win.

Easley hit his third homer of the season on a 3-2 pitch from reliever Taylor Buchholz (3-3) with two outs. Billy Wagner worked a perfect ninth for his 21st save.

The Mets have won seven straight for the first time since Aug. 17-24, 2006. They held an opponent to three hits for the fourth straight game.

CUBS 3, GIANTS 1: At Chicago, Aramis Ramirez broke a scoreless tie with a three-run homer in the eighth inning for Chicago.

Shut down by starter Matt Cain for seven innings, the Cubs struck quickly against his replacement and held off a ninth-inning rally to send the Giants to their fifth straight loss.

CARDINALS 6, PIRATES 0: At Pittsburgh, Kyle Lohse limited Pittsburgh to six hits over seven innings and Rick Ankiel and Ryan Ludwick homered for St. Louis.

Lohse (11-2) won his eighth in a row by limiting the Pirates to one extra-base hit. He hasn't lost in 12 starts since May 9, giving up two runs or fewer in all but two of his last 10 starts.

NATIONALS 10, ASTROS 0: At Washington, Ronnie Belliard homered twice and drove in five runs and Tim Redding finally got a victory after nine consecutive no-decisions for Washington.

Redding (7-3) allowed seven singles, walked none and struck out six in six innings. The Astros had hits in the first five innings, but Redding consistently wiggled out of trouble to record his first victory since May 19.

REDS 6, BREWERS 5: At Milwaukee, Cincinnati's Jay Bruce scored the go-ahead run in the eighth inning on the third wild pitch by Milwaukee.

Edwin Encarnacion hit a ground-rule double off Brian Shouse (3-1) to start the inning, and he advanced when Bruce reached on a throwing error by third baseman Bill Hall. Solomon Torres relieved and walked David Ross. Pinch-hitter Adam Dunn his into a fielder's choice, and Bruce scored on a wild pitch.

PHILLIES 6, DIAMONDBACKS 5: At Philadelphia, Jayson Werth hit a game-ending RBI single in the 12th inning as Philadelphia beat Arizona in a matchup of NL division leaders.

Werth and Shane Victorino had three hits apiece for the Phillies, who have won three straight. Victorino tied it at 5 with a two-run triple off Tony Pena in the ninth inning.

PADRES 4, BRAVES 0: At San Diego, Scott Hairston remained on a hot streak with a double and a triple to back Jake Peavy and help San Diego beat Atlanta.

MARLINS 3, DODGERS 1: At Los Angeles, Chris Volstad came within one out of a shutout in his first major league start and Jeremy Hermida and Jorge Cantu hit back-to-back homers in the first inning as Florida downed Los Angeles.