James Shields worked into the eighth inning to outpitch CC Sabathia, prolong Alex Rodriguez's quest for his 600th homer and help Tampa Bay beat the New York Yankees 3-0 Sunday. Carl Crawford and Kelly Shoppach drove in runs for the Rays, who took two of three games during a matchup between the teams with the top two records in baseball. The Yankees intended for Rodriguez to take a day off. But with Shields (10-9) sailing along with a three-run lead in the seventh, manager Joe Girardi inserted the slugger as a pinch-hitter with a runner on and two outs. Rodriguez took a third called strike. He remained in the game at third base, but didn't get to the plate again. Shields walked one and struck out 11 while limiting the World Series champions to four hits over 7 1-3 innings. Rays reliever Chad Qualls, acquired Saturday from Arizona, got Lance Berkman to hit into a double play to end the eighth. Rafael Soriano pitched the ninth, finishing the five-hitter for his 30th save in 32 opportunities. Sabathia (13-5) allowed three runs and eight hits in 6 2-3 innings, losing his second consecutive start after winning nine straight decisions. Tampa Bay won for the eighth time in nine games, trimming New York's lead in the AL East to one game. Rodriguez' next chance at the milestone comes Monday night at home against Toronto. Angels 4, Rangers 1: At Anaheim, Jered Weaver outpitched Cliff Lee with seven sharp innings in a matchup of the AL's strikeout and ERA leaders as Los Angeles beat Texas to win two of three in their weekend series. The Rangers' lead in the AL West was shaved to eight games by the three-time defending division champions, who avoided falling at least 10 games out of first place for the first time since the end of the 2003 season. Twins 4, Mariners 0: At Minneapolis, Francisco Liriano matched a season high with 11 strikeouts and Jason Kubel ended a slump with a three-run double as the Minnesota Twins beat Seattle 4-0 for the second consecutive day. Playing without sluggers Joe Mauer and Justin Morneau, the Twins won their eighth straight and completed a three-game sweep. They remained a half-game behind first-place Chicago in the AL Central. The Mariners lost their seventh in a row. Liriano (10-7) went seven innings to extend his shutout streak to 21. He has allowed only two runs in his last 28 2-3 innings. Luke French (0-2) held Minnesota scoreless through five innings before getting into trouble in the sixth. Red Sox 4, Tigers 3: At Boston, pinch-runner Darnell McDonald scored the winning run when Marco Scutaro's bunt single was thrown away by pitcher Robbie Weinhardt as the Red Sox won in their last at-bat for the second straight game. After Clay Buchholz outpitched Tigers ace Justin Verlander in a matchup of All-Stars, Jonathan Papelbon (4-4) got the win despite giving up Miguel Cabrera's two-run double and a game-tying single by Jhonny Peralta in the ninth. White Sox 4, Athletics 1: At Chicago, Brent Lillibridge hit a three-run triple for the White Sox, who have won six of seven. They improved to 20 wins and two losses in their last 22 games at US Cellular Field. Indians 5, Blue Jays 4: At Toronto, Asdrubal Cabrera hit a two-run homer and Jason Donald added a solo shot as Cleveland beat Toronto for the sixth time in seven games. Royals 5, Orioles 4: At Kansas City, Alex Gordon homered and Bruce Chen won for the first time since July 3 to lead Kansas City past Baltimore.