Jim Thome hit his 536th career homer, Gavin Floyd won his fifth straight decision and the Chicago White Sox beat the Boston Red Sox 4-2 on Sunday to avoid a three-game sweep in the American League. Thome hit a two-out, two-run drive off Tim Wakefield (8-9) in the first inning for his 29th of the season, and tied Mickey Mantle for 14th place on Major League Baseball's all-time list. Thome and Paul Konerko hit consecutive two-out doubles in the sixth to give Chicago a 3-1 lead. Floyd (15-6) allowed one run and seven hits over 6 2-3 innings against a team that outscored the White Sox 16-4 and outhit them 30-11 in the first two games. Red Sox second baseman Dustin Pedroia singled in the first for his ninth straight hit, reaching safely in 11 consecutive plate appearances. He went 1-for-4 with a walk after going 4-for-4 with a walk in each of the previous two games. Rays 10, Orioles 4: At St. Petersburg, Florida, James Shields allowed one run over seven innings, and Jason Bartlett hit his first homer in over a year to help AL East-leading Tampa Bay complete a three-game sweep of Baltimore. Bartlett had four hits and drove in two runs, including a solo shot during a two-run seventh that made it 10-1. Blue Jays 6, Yankees 2: At New York, Roy Halladay won his fourth straight start, giving him four wins over New York this season, and Scott Rolen homered for Toronto. Halladay (17-9) pitched seven effective innings, allowing only solo homers to Alex Rodriguez and Jason Giambi. The 2003 AL Cy Young Award winner improved to 4-1 with a 2.50 ERA in five starts against the Yankees this year. Andy Pettitte (13-11) was charged with six runs and 10 hits for the second consecutive outing. Tigers 4, Royals 2: At Detroit, Miguel Cabrera homered and drove in four runs in Detroit's win over Kansas. Jose Guillen hit a home run for Kansas City, which has lost 12 of 14. Mariners 6, Indians 4: At Cleveland, Adrian Beltre homered twice and Seattle beat Cleveland to complete a three-game sweep. Beltre's third multihomer game of the season and 19th of his career helped Seattle win for the seventh time in nine games. Ryan Rowland-Smith (4-2) allowed two runs - one earned - and seven hits over 6 1-3 innings. Zach Jackson (0-1) gave up six runs and seven hits in five innings and Shin-Soo Choo hit his ninth homer for Cleveland. Rangers 4, Angels 3: At Anaheim, California, Josh Hamilton and Marlon Byrd hit home runs and Texas beat Los Angeles to avoid a sweep of the four-game series. Kevin Millwood (9-7) won his third straight start, and John Lackey (11-3) took the loss. Palte umpire Bill Hohn had a busy day. He ejected Angels manager Mike Scioscia in the fifth, after ruling that Blalock had checked his swing and then ignored catcher Jeff Mathis' request for an appeal at third. And he tossed Rangers manager Ron Washington in the seventh and Gerald Laird in the eight for arguing third strike calls. Twins 12, Athletics 4: At Oakland, California, Justin Morneau homered and drove in four runs, Scott Baker won for only the second time since the All-Star break and Minnesota beat Oakland to earn a split of the four-game series. Alexi Casilla also homered and Nick Punto added two hits, including an infield single that sparked the Twins' five-run sixth inning. Baker (8-4) allowed an RBI double to Jack Hannahan but kept the A's quiet otherwise, scattering six hits over six innings to improve to 3-0 in three career starts against Oakland. Sabathia throws 1-hitter Sabathia pitched a one-hitter in his latest dominating start, allowing only an infield single as the Milwaukee Brewers beat the Pittsburgh Pirates 7-0 in the National League on Sunday. Sabathia (9-0) pitched the majors' fourth one-hitter this season and couldn't have come much closer to a no-hitter, with no Pirates batter coming close except for Andy LaRoche's hit in the fifth inning. Sabathia's 9-0 record since being dealt by Cleveland to Milwaukee on July 7 matches Doyle Alexander's 9-0 with Detroit in 1987 as the best of any pitcher traded at midseason in the last 90 seasons. Mets 6, Marlins 2: At Miami, Pedro Martinez pitched six innings for only his second victory since July 7, Nick Evans and David Wright hit back-to-back home runs in the third innings, and Carlos Beltran added his 21st homer for New York. The first two Florida batters to face Martinez (5-3) scored, but those were the only runs he allowed. He gave up seven hits but only one walk. Scott Olsen (6-9) finished winless in August. Phillies 5, Cubs 3: At Chicago, Jayson Werth hit another home run against Chicago and 45-year-old Jamie Moyer got his 12th win, helping Philadelphia salvage a split of their four-game series at Wrigley Field. Werth hit a two-run double in the first and a solo drive in the fifth for his 21st homer of the season. Werth is 11-for-21 with four homers and 10 RBIs against the Cubs this season. Moyer (12-7), who started his career with the Cubs in 1986, gave up eight hits and two runs in 5 1-3 innings. Astros 3, Cardinals 0: At Houston, Ty Wigginton hit his 12th home run of August and four Houston pitchers combined to shut out St. Louis. In other results it was: Nationals 8, Braves 4; Reds 9, Giants 3; Padres 2, Rockies 1; Dodgers 8, Diamondbacks 1.