Nelson Cruz homered, tripled and doubled, helping the Texas Rangers beat the Boston Red Sox 6-3 on Sunday for their first series win at Fenway Park in 12 years. Texas took two of three in a matchup of AL division leaders. Boston dropped a half-game behind the New York Yankees in the AL East. Cruz's 17th homer and 10th in his last 17 games drove in Texas' final run. Cruz hit a solo shot in the seventh off Hideki Okajima that ended Boston's bullpen scoreless streak at 12 innings. Cruz is tied with Tampa Bay's Carlos Pena and Yankees slugger Mark Teixeira for the AL lead in homers. The Rangers hadn't won a series at Fenway Park since a three-game sweep in August 1997. Vicente Padilla (4-3) allowed two earned runs and four hits in seven innings, rebounding from a poor start against the Yankees last Tuesday. C.J. Wilson pitched the ninth for his fifth save. Daisuke Matsuzaka (1-4) gave up 10 hits and five runs in 5 2-3 innings for Boston. Yankees 4, Rays 3: At New York, Mariano Rivera bounced back from a poor outing against Tampa Bay as the Yankees rallied for three runs in the eighth inning. Nick Swisher hit the 100th home run in 28 games at the new Yankee Stadium, helping Joe Girardi earn his 200th win as a manager. Alfredo Aceves (4-1) pitched two scoreless innings in New York's major league-leading 20th comeback victory this season. Hideki Matsui beat out a potential double-play grounder to drive in the go-ahead run, then Rivera pitched a perfect ninth for his 13th save – one day after giving up four runs in the ninth inning and taking the loss. The Yankees took advantage of two crucial walks and a key error by fill-in third baseman Willy Aybar in the eighth to beat reliever Grant Balfour (2-1). Elsewhere in the AL it was: Blue Jays 4, Royals 0; Tigers 9, Angels 6; Indians 8, White Sox 4; Athletics 3, Orioles 0; Mariners 4, Twins 2. D'backs win in 18th inning In San Diego, Mark Reynolds hit a three-run homer off infielder Josh Wilson with two outs in the 18th inning Sunday, giving the Arizona Diamondbacks a 9-6 win over the San Diego Padres in the longest major league game this season. The Padres were held hitless through nine extra innings by four relievers. Their only baserunners in extras came on three walks. The game took 5 hours, 45 minutes. San Diego scored five in the ninth and tied it at 6 on David Eckstein's first career pinch-hit homer, a three-run shot, with two outs off Chad Qualls. The Padres used all their relievers and had starter Chad Gaudin – the loser in Friday night's series opener – pitch the 16th and 17th innings before turning to Wilson in the 18th for his third career relief appearance. Wilson (0-1) was claimed off waivers from Arizona on May 15, four days after he pitched a scoreless inning for the Diamondbacks against Cincinnati. Leo Rosales (1-0) worked 3 1-3 innings for the win. In other NL games it was: Phillies 7, Dodgers 2; Braves 8, Milwaukee 7; Giants 3, Marlins 2; Rockies 7, Cardinals 2; Cubs 6, Reds 3, 14 innings; Mets 7, Nationals 0; Astros 6, Pirates 4.