Matt Harrison won his third straight start, Nelson Cruz hit a long two-run homer and the Texas Rangers beat the streaking Los Angeles Angels 7-3 Sunday to avoid a three-game sweep. The victory ended a four-game skid by the two-time defending AL champions, who lead the Angels by 4½ games in the West. The clubs play 13 more times during the regular season. Harrison (7-3) was charged with three runs and four hits in 6 2-3 innings after handing a 5-2 lead to the bullpen. Dan Haren (3-6) threw 104 pitches over five innings, allowing two runs and seven hits. Twins 5, Indians 3: Scott Diamond allowed three unearned runs over seven innings for Minnesota. Joe Mauer hit an RBI single in the first off Justin Masterson (2-5). The Twins star left in the ninth with a sprained right thumb. Diamond (4-1) gave up seven hits and didn't issue a walk. In six starts since being recalled from the minors May 8, he has walked only four. Matt Capps pitched the ninth for his 12th save in 13 chances as Minnesota took two of three in the series. Minnesota made three errors, but improved to 5-1 since a five-game losing streak. Royals 2, Athletcis 0: Alex Gordon and Brayan Pena combined on a play at the plate to preserve a shutout for Vin Mazzaro and three Royals relievers. Mazzaro six innings to help beat up on punchless Oakland again. The Athletics are hitting .209 on the season and have been shut out in three of their past four games. The Royals sent the A's to their 10th loss in 11 games. In the fifth inning, Josh Reddick hit a foul fly ball that Gordon caught near the seats. Adam Rosales tagged up at third, as Gordon let fly. The throw beat Rosales, who tried but failed to jar the ball loose from catcher Brayan Pena. Blue Jays 5, Red Sox 1: Jose Bautista hit a three-run home run and rookie Drew Hutchison won for the fourth time in five starts. In an ill-tempered game that featured four hit batters, plate umpire Mike Winters warned both benches after Boston's Kevin Youkilis was drilled on the shoulder in the sixth. Youkilis stepped in front of the plate and yelled at Hutchison, but the situation did not escalate. Daniel Bard (5-6) allowed five runs, walked six, struck out two and hit two batters in 1 2-3 innings, his shortest career start. Rays 8, Orioles 4: B.J. Upton hit a tiebreaking two-run double, Matt Moore won for the first time after losing four straight decisions and the Tampa Bay Rays beat the Baltimore Orioles. White Sox 4, Mariners 2: Chris Sale pitched a five-hitter for his first major league complete game and Chicago won for the 10th time in 11 games. Yankees 5, Tigers 1: Derek Jeter and Alex Rodriguez each homered off Justin Verlander, and Phil Hughes pitched a four-hitter to lead the New York Yankees to a 5-1 victory over the Detroit Tigers Sunday. In another game it was: Kansas City 2, Oakland 0.