PHILADELPHIA -- Cole Hamels played stopper Thursday afternoon, pitching the Philadelphia Phillies to a 2-1 win over the San Francisco Giants at Citizens Bank Park.

Hamels (5-5) stymied the first-place Giants with eight innings of one-run ball, striking out 10 to help the Phillies avoid a four-game sweep. Jonathan Papelbon threw a 1-2-3 ninth inning to notch his 24th save.

The Phillies pushed across a run in the bottom of the first inning on an RBI single by Marlon Byrd. The Giants got to Hamels in the top of the fifth inning to knot the score on Ehire Adrianza's two-out base hit to score Gregor Blanco.

Chase Utley quickly snatched the lead back for the Phillies with an RBI single in the bottom of the fifth, making it 2-1.

Yankees 4, Rangers 2

NEW YORK -- Brandon McCarthy pitched six innings and New York held off Texas at Yankee Stadium.

Chase Headley had an RBI single, Francisco Cervelli delivered a run-scoring double and left fielder Brett Gardner lifted a sacrifice fly for the Yankees, who are 6-1 during a 10-game homestand. Brian McCann added an insurance run in the eighth inning with an RBI double.

McCarthy (2-0) held the Rangers to one run and four hits. Elvis Andrus had an RBI single and first baseman J.P. Arencibia homered for Texas, which has lost 17 of 20.

A's 13, Astros 1

OAKLAND, Calif. -- Brandon Moss hit his third grand slam of the season, Jeff Samardzija threw eight strong innings and Oakland routed Houston at Coliseum.

Making his fourth start since being traded to the A's from the Chicago Cubs, Samardzija (2-1) allowed one run and five hits in eight innings. He struck out six and walked none.

The A's led 4-1 entering the bottom of the sixth inning when Moss made it 8-1 with one swing of the bat against Astros reliever Anthony Bass, launching a first-pitch fastball to right field for the grand slam.

Blue Jays 8, Red Sox 0

TORONTO -- Marcus Stroman allowed one hit in seven innings and Juan Francisco homered and drove in four runs as Toronto defeated Boston for its third win in a row.

Stroman (6-2) did not allow a hit until Shane Victorino led off the seventh inning with a soft single to center. The rookie right-hander struck out seven and allowed two walks to win his second start in a row.

Francisco tripled and scored a run in the second inning, hit a two-run homer in the third and had a two-run single in the fifth. Toronto's 14 hits included three doubles and two RBIs by Melky Cabrera.

Marlins 3, Braves 2

ATLANTA -- Jarrod Saltalamacchia hit two doubles and drove in the go-ahead run with a single in the ninth inning against Atlanta closer Craig Kimbrel to give Miami a come-from-behind win.

Saltalamacchia, a former Atlanta Braves farmhand, completed a ninth-inning rally by a lining a single to center field that scored Marcell Ozuna, who slid in ahead of an accurate throw from B.J. Upton.

Ozuna struck out, but he raced to first base when the ball bounced away from catcher Evan Gattis. Ozuna advanced to second base on Kimbrel's second wild pitch of the inning and scored on Saltalamacchia's two-out hit.

Brewers 9, Mets 1

MILWAUKEE -- Matt Garza held New York to two hits over eight innings, and Milwaukee hit three home runs in the win.

Garza (7-7) allowed one run while striking out four and issuing one walk.

Jonathan Lucroy and Khris Davis hit solo homers for the Brewers, and Ryan Braun added a two-run shot. Lucroy, Davis and Chris Gomez each had two hits, and Lucroy, Davis, Braun and Jean Segura each knocked in two runs.

White Sox 5, Twins 2

MINNEAPOLIS -- Hector Noesi allowed two runs and three hits in 7 2/3 innings, and Chicago topped Minnesota.

Noesi threw his longest outing in more than two years. He struck out four and did not issue a walk. Daniel Webb got the last out in the eighth, and Jake Petricka pitched a perfect ninth for his fifth save.

Adam Eaton, whose third-inning single gave Chicago a 1-0 lead, finished 3-for-5 with two RBIs. Alexei Ramirez and Conor Gillaspie added two hits apiece for the White Sox.

Padres 13, Cubs 3

CHICAGO -- San Diego jumped to an early lead and took advantage of shaky Chicago pitching in a ninth-run sixth inning on the way to a blowout victory.

Padres right-hander Tyson Ross (9-10) struck out a career-high 11. He gave up one run on five hits and one walk in six innings.

Seth Smith went 3-for-4 with two runs, Will Venable finished 3-for-5 with two RBIs and Rene Rivera went 3-for-5 with a homer, two runs and three RBIs for San Diego.