ST. PETERSBURG, Fla. — Tampa Bay's James Shields won for the first time since June 24, outpitching CC Sabathia and beating New York 2-1 on Thursday night.
Shields (9-8) allowed six hits, walked three and struck out six over 72/3 innings.
Sabathia (14-5) lost for the first time since June 9, ending a streak of victories in seven consecutive starts.
Evan Longoria homered and had two of Tampa Bay's five hits. Sam Fuld drove the second run with a fifth-inning triple.
The loss dropped New York two games behind first-place Boston in the AL East. The third-place Rays salvaged a split in the four-game series and moved within 51/2; games of the Yankees.
Shields allowed one baserunner past first until the eighth, when Derek Jeter and Robinson Cano doubled.
Brandon Gomes got one out to end the eighth. Kyle Farnsworth worked the ninth, earning his 19th save.
Blue Jays 7, Mariners 5
At Toronto, Rajai Davis hit a tiebreaking double in the eighth inning and the Blue Jays handed Seattle its 12th straight loss.
Miguel Olivo erased a 5-1 deficit by hitting Seattle's first grand slam of the season in the top of the eighth.
Reliever David Pauley (5-4) got two quick outs in the bottom half before Mike McCoy doubled to left and Yunel Escobar walked. Davis followed with a double over the head of Ichiro Suzuki in right, scoring both runners.
The Mariners have not won since beating the Athletics in Oakland on July 5, the majors' longest losing streak of the season.
Tigers 6, Twins 2
At Minneapolis, Justin Verlander threw eight dominant innings and Jhonny Peralta drove in three runs with three hits as Detroit beat Minnesota for the 10th straight time.
Angels 1, Rangers 0
At Anaheim, Calif., Jered Weaver won a riveting duel with fellow All-Star C.J. Wilson, and Los Angeles converted an error by Texas center fielder Endy Chavez into an unearned run.
The Angels moved within three games of the AL West leaders.
Diamondbacks 4, Brewers 0
At Phoenix, Ian Kennedy gave up four hits over seven innings to earn his 11th victory and Arizona got home runs from Justin Upton, Miguel Montero and Kelly Johnson to beat Milwaukee.
Padres 5, Marlins 3
At Miami, Dustin Moseley and three relievers held Florida without an earned run and San Diego completed a series sweep.
Braves 9, Rockies 6
At Denver, Jason Heyward and Freddie Freeman each homered and had two hits and Atlanta overcame a shaky start by Tommy Hanson.
Cardinals 6, Mets 2
At New York, Albert Pujols hit a two-run homer in the first and Jake Westbrook threw eight excellent innings as St. Louis avoided a three-game sweep.
Pujols drove a pitch from Jonathon Niese (9-8) off the facade of the second deck in left for his 21st home run.