Jason Bay had four hits and two RBIs and Josh Beckett pitched effectively into the seventh inning to help the Boston Red Sox beat the Kansas City Royals 8-2 on Tuesday. Beckett, 0-3 with a 5.31 earned run average while allowing 29 hits in 20 1-3 innings in his previous three starts, held the Royals to four hits and two runs in 6 2-3 innings. He struck out seven and walked two. Beckett (10-8) gave up an RBI double to Mark Teahen in the first, and after Alex Gordon led off the second with a single, Beckett retired 16 of the next 17 he faced. He improved to 3-0 in five career starts against Kansas City. The Red Sox remained three games behind Tampa Bay in the American League East. Rays 8, Indians 4: At St. Petersburg, Florida, Evan Longoria, Dioner Navarro and Cliff Floyd homered to help Tampa Bay beat Cleveland. Longoria's two-run drive in Tampa Bay's four-run seventh was his 22nd of the season, setting a team record for a rookie. Longoria hit two long drives that landed in foul territory then took a pitch before connecting against Rafael Betancourt. Edwin Jackson (8-7) won his third consecutive start, giving up three runs and seven hits in 5 2-3 innings. Jhonny Peralta hit a two-run homer in the third for Cleveland. Fausto Carmona (5-4) lasted just four innings in his third start since returning from a left hip strain. Rangers 8, Yankees 6: At Arlington, Texas, Josh Hamilton hit his 27th homer, rookie Matt Harrison pitched into the seventh inning and Texas hung on to beat New York. The Yankees lost their second straight to the Rangers, have dropped seven of 10 and fell 6 1/2 games behind AL-East leading Tampa Bay. Texas took an 8-2 lead into the eighth, but Richie Sexson's grand-slam off C.J. Wilson made it a two-run game. Harrison (3-2) allowed two runs and five hits in 6 1-3 innings. He started the night with a 7.40 ERA. Yankees starter Andy Pettitte (12-9) allowed five runs and six hits in five-plus innings. Blue Jays 4, Athletics 3: At Toronto, Kevin Mench singled in the winning run with two outs in the ninth inning and Toronto extended Oakland's season-long losing streak to eight games. Orioles 3, Angels 0: At Anaheim, California, Chris Waters held the team with baseball's best record to one hit over eight innings in his major league debut, and Baltimore beat Los Angeles. Mariners 8, Twins 7: At Seattle, Raul Ibanez drove in five more runs and the Mariners rallied in the bottom of the eighth Twins closer Joe Nathan, dropping Minnesota out of first in the AL Central. White Sox 10, Tigers 8, 14 innings: At Chicago, Nick Swisher hit a three-run homer with two outs in the bottom of the 14th inning and the White Sox rallied for four runs off Joel Zumaya to beat Detroit.