TORONTO -- Josh Donaldson and Chris Colabello hit solo home runs, Aaron Sanchez pitched a career-high seven innings and Toronto beat the struggling Boston Red Sox 7-0 on Friday night, the 3,000th win in Blue Jays history.

Donaldson connected off the facing of the third deck in the first inning and Colabello added an opposite field shot in the second. Both homers came off Wade Miley (1-4), who lost his third straight start.

Sanchez (3-2) allowed two hits, walked five and struck out three to win for the third time in four starts.

The Red Sox lost for the sixth time in seven games. They came in having scored just 15 runs in their previous six, posting a team batting average of .214 in that span.

Things didn't go much better against the Blue Jays. Dustin Pedroia's one-out single in the first was their only hit through the first seven innings, and Pedroia was immediately erased on a double play.

Tigers 6, Royals 5

DETROIT -- Reliever Yohan Pino, called up earlier in the day by Kansas City, threw wildly to first base, allowing Anthony Gose to score the winning run in the ninth inning as the Detroit Tigers beat the Royals.

Gose led off the ninth with a double on Pino's first pitch, and on the next delivery, Ian Kinsler bunted down the third-base line. Pino (0-1) fielded the ball but had a bad throw to first.

Joakim Soria (2-0) earned the win with a scoreless ninth inning.

Tigers starter David Price allowed five runs and a career-high 13 hits before leaving the game in the seventh inning with a fluke injury. On the single by Alex Gordon that gave Kansas City a 5-4 lead, Price stepped on a discarded bat and appeared to injure his ankle.

Phillies 3, Mets 1

PHILADELPHIA -- Ryan Howard homered and drove in two runs, Cole Hamels outpitched Matt Harvey and the Philadelphia Phillies beat the New York Mets.

Hamels (2-3) gave up one run and four hits in seven innings, striking out eight.

Harvey (5-1) allowed three runs and six hits in six innings for his first career loss before June and first in seven starts against Philadelphia. The hard-throwing righty was 10-0 in 16 starts in April and May.

Philadelphia's Freddy Galvis was 3 for 3 with a walk, raising his team-best batting average to .351.

Ken Giles tossed a perfect eighth and Jonathan Papelbon finished for his sixth save in six tries.

Nationals 9, Braves 2

WASHINGTON -- Bryce Harper hit two more home runs, giving him five in two games, and Danny Espinosa also connected twice to power the Washington Nationals past the Atlanta Braves.

Harper drove in five runs with three hits. On Wednesday, he homered his first three times up and drove in five runs.

Harper has 10 home runs this season, along with those 10 RBIs in his last two games.

Jayson Werth added a solo home run as the Nationals backed Gio Gonzalez (3-2). Gonzalez pitched seven solid innings after going 0-7 in his previous eight starts against Atlanta.

Harper hit a two-run homer in the sixth off Eric Stults (1-3), giving Washington a 3-2 lead. Harper hit a three-run drive deep into the right-centre field stands in the eighth against Williams Perez, who was making his major league debut.

Reds-White Sox, PPD

CHICAGO -- The opener of Cincinnati's first series at the Chicago White Sox in 14 years has been postponed by rain.

Yankees 5, Orioles 4

NEW YORK -- Brian McCann hit an early two-run homer, Andrew Miller got his major league-leading 13th save and the New York Yankees held on to beat the Baltimore Orioles.

A night after hitting his 661st home run to move past Willie Mays into sole possession of fourth place, Alex Rodriguez hit a drive to the top of the wall in right-centre for his first triple since July 2012. New York (19-11) survived yet another short start by Adam Warren to win for the 16th time in 21 games and move eight games over .500 for the first time since the final day of 2013 season.

Warren took a shutout into the fifth but was removed one out short of qualifying for a win. He gave up two runs, seven hits and three walks.

Dellin Betances (4-0) retired four straight batters for the win and Miller, New York's fifth pitcher, got three straight outs against the team he finished last year with to remain perfect in save opportunities.

Angels 2, Astros 0

ANAHEIM, Calif. -- Jered Weaver pitched a six-hitter for his first victory of the season, and Carlos Perez had an RBI single in the Los Angeles Angels' victory.

C.J. Cron also drove in a run during a two-run fifth inning for the Angels, who have won three of four.

Weaver (1-4) didn't allow a runner to reach second base during an outstanding performance in the seventh start of his difficult season. Weaver didn't walk a batter and retired 19 of his last 21, receiving a standing ovation after completing his first shutout since 2012.

Roberto Hernandez (1-3) yielded only six hits while pitching into the eighth inning for the Astros, who have lost four of five.

Twins 9, Indians 3

CLEVELAND -- Torii Hunter went 4 for 4, including a solo homer, and drove in four runs, leading the Minnesota Twins past the Cleveland Indians.

The Twins have won eight of nine and are 16-7 since April 13.

Hunter, with a chance for a five-hit game, walked on four pitches in the ninth.

Mike Pelfrey (3-0), rebounding from his shortest outing of the season, gave up two runs in seven innings.

Bauer (2-1) allowed five runs in five-plus innings as Cleveland's problems continue. The Indians (10-18) have the worst record in the American League.

Rays 8, Rangers 2

ST. PETERSBURG, Fla. -- Nathan Karns took a shutout into the eighth inning, pinch hitter Brandon Guyer had a three-run homer and the Tampa Bay Rays beat the Texas Rangers.

Karns (2-1) allowed two hits through seven scoreless innings before Adam Rosales homered to lead off the eighth. Karns struck out a career-high nine.

Yovani Gallardo (2-5) lost his fourth straight start, giving up four runs and three hits in 5 1-3 innings.

Evan Longoria hit an RBI single that finished Gallardo in the sixth. Reliever Alex Claudio threw only one pitch in the game, and Guyer sent it into the left-field seats for the first pinch-hit homer of his career and a 5-0 lead.

Longoria was the designated hitter, one day after his streak of playing in 270 consecutive games ended due to flulike symptoms.

Giants 6, Marlins 0

SAN FRANCISCO -- Casey McGehee hit the third grand slam of his career, Tim Lincecum struck out a season-best eight batters, and the San Francisco Giants beat the Miami Marlins.

Lincecum (3-2) ran his scoreless innings streak to 15 to win back-to-back starts for the first time this season. He struck out Giancarlo Stanton with the bases loaded to end the fifth, sparking the two-time NL Cy Young Award winner to pump his right arm in triumph and yell. He then pitched a 1-2-3 sixth before giving way to Yusmeiro Petit.

Brandon Belt doubled among his season-high four hits as San Francisco bounced back from a 7-2 loss in the opener. He raised his average 34 points to .308.

McGehee came into the game batting just .178, was hitless in his previous eight at-bats and 8 for 56 with only one RBI in his previous 18 games.

Cardinals 8, Pirates 5

PITTSBURGH -- Matt Holliday and Kolten Wong hit three-run homers and Michael Wacha remained unbeaten as the St. Louis Cardinals held off the Pittsburgh Pirates.

Holliday sent a towering shot to left-centre off Francisco Liriano (1-2) in the third inning and Wong put it away with a drive over the Clemente Wall in right off Arquimedes Caminero in the seventh. Jhonny Peralta also homered for the Cardinals, who have won 10 of 11.

Wong finished with three hits. Trevor Rosenthal worked the ninth for his 11th save as the Cardinals improved to a major-league best 22-7. Wacha (5-0) produced six workmanlike innings, giving up three runs and six hits with one strikeout.

Starling Marte had three hits for Pittsburgh and Andrew McCutchen, Neil Walker and Francisco Cervelli added two each.

Cubs 7, Brewers 6

MILWAUKEE -- Rookie Jorge Soler hit one of Chicago's four home runs, and the Cubs' bullpen nearly squandered a four-run lead before holding on.

Ryan Braun hit a three-run homer to the right-field corner off reliever Hector Rondon to make it a one-run game with two outs in the ninth. The Brewers followed with two more singles off Rondon to bring up Gerardo Parra.

Rondon let out a yell on the mound after striking out Parra swinging on a slider to end the game.

Milwaukee had five hits over the final two innings off Chicago relievers after being held to five hits over the first seven innings by starter Jason Hammel (3-1).

Chicago had built its lead in part on solo shots from Dexter Fowler, Anthony Rizzo and Starlin Castro, on top of Soler's two-run homer.

Padres 6, Diamondbacks 5

PHOENIX -- Will Venable homered and then singled in the go-ahead run in the seventh inning, and the San Diego Padres bullpen made the lead last for three innings.

Venable's hit in the seventh off reliever Enrique Burgos (0-1) drove in Justin Upton from second base.

The teams combined for six home runs, four by the Diamondbacks, who rallied from a three-run deficit to tie the score at 5 after back-to-back home runs by Paul Goldschmidt and David Peralta.

Wil Myers had a career-high four hits for the Padres, including a home run in the fifth.

Relievers Brandon Maurer, Joaquin Benoit and Craig Kimbrel shut down the Diamondbacks over the final two innings. Kimbrel earned his ninth save.

The Diamondbacks scored all their runs via home runs off Padres starter James Shields (4-0).

Dodgers 2, Rockies 1, 5 innings

DENVER -- Brett Anderson pitched five solid innings, Adrian Gonzalez had an RBI double and threw out a baserunner at home, and the Los Angeles Dodgers beat the Colorado Rockies in a game called in the top of the sixth inning because of rain.

Rainy weather delayed the start for 64 minutes, and with one out and the bases loaded against Eddie Butler in the Dodgers' half of the sixth, the game was halted again amid another pelting rain. An hour, 40 minutes later, umpires called it.

Anderson (2-1) allowed one run -- none earned -- on six hits in his first appearance against his former team. He spent last season with the Rockies but was limited to eight starts due to injury,

Butler (2-3) allowed two runs on five hits in 5 1-3 innings. He walked four and struck out three.

Mariners 4, Athletics 3, 11 innings

SEATTLE -- Logan Morrison homered on the first pitch of the 11th inning from Oakland reliever Dan Otero and the Seattle Mariners rallied to beat the Athletics.

Otero (2-2) had just finished his warmup pitches and left a 91 mph pitch over the middle of the plate to open the inning. Morrison didn't miss, hitting his fifth homer of the season deep into the seats in right-centre field. It was Seattle's first game-ending homer since Kyle Seager in April 2014 against Houston.

Seattle rallied from a 3-1 deficit, scoring twice with two outs in the seventh inning on consecutive RBI doubles from Brad Miller and Robinson Cano to draw even.

The Mariners also got a stellar effort from their bullpen that had struggled of late. Carson Smith (1-1) allowed just one baserunner pitching the 10th and 11th innings as Seattle relievers allowed one hit in six scoreless innings of relief.