Cabrera matched a career high with six RBIs and now has 40 homers on the season — also a career best. Prince Fielder and Jhonny Peralta added home runs for the Tigers, who remained three games behind the first-place Chicago White Sox in the AL Central.
Scherzer left after two innings because of a fatigued throwing shoulder. An MRI showed no structural damage.
Darin Downs (2-1) pitched 2 2-3 scoreless innings for the win.
Oakland rookie A.J. Griffin (6-1) lost for the first time in his career.
WHITE SOX 3, ROYALS 2
KANSAS CITY, Mo. (AP) — Gavin Floyd pitched seven crisp innings, Alex Rios hit a tiebreaking homer in the seventh and the Sox beat the Royals for their fifth consecutive win.
Alejandro De Aza and Gordon Beckham also went deep for AL Central-leading Chicago, which maintained a three-game advantage over Detroit.
Floyd (10-10), who was making his second start since coming off the disabled with an elbow flexor strain, gave up two runs in the first inning and nothing after that. Luke Hochevar (8-14) allowed just one single the next four innings before Beckham led off the sixth with his 16th home run.
RED SOX 7, RAYS 5
ST. PETERSBURG, Fla. (AP) — Felix Doubront limited Tampa Bay's sputtering offence to one hit over six innings and the Boston Red Sox rallied for a victory that dealt another blow to the Rays' fading playoff hopes.
Jacoby Ellsbury, Dustin Pedroia, James Loney, Jarrod Saltalamacchia and Ryan Lavarnway drove in runs for the Red Sox, who beat their AL East rivals for the second straight night, extending Tampa Bay's losing streak to four games and dropping the third-place Rays six games behind the division-leading New York Yankees.
Doubront (11-9) walked five and struck out five, ending a stretch in which he went 0-5 over eight starts dating to late July.
The Red Sox took the lead with an unearned run off Kyle Farnsworth (1-6) in the sixth.
TWINS 6, INDIANS 5, 12 INNINGS
CLEVELAND (AP) — Darin Mastroianni scored the go-ahead run from second base on an infield hit in a two-run 12th inning and the Twins tied the Indians for fourth place in the AL Central.
Mastroianni singled with two outs and stole second off Scott Maine (1-1), the team-record 10th pitcher used by Cleveland. Alexi Casilla then poked a ball between first and second that second baseman Jason Kipnis fielded in short right. But Casilla was safe when first baseman Matt LaPorta fielded Kipnis' throw, but was not on the bag. LaPorta held the ball before reacting too late to throw out Mastroianni at home.
Tyler Robertson (2-2) pitched 1 1-3 innings for the win.
ANGELS 11, RANGERS 3
ANAHEIM, Calif. (AP) — Jered Weaver earned his 100th victory, Chris Iannetta had a two-run single and scored on a wild pitch during a crazy eight-run rally in the fourth inning, and the Angels moved up in the AL playoff race with a victory over Texas.
Erick Aybar had three hits and scored two runs for the Angels (81-67), who moved within 3 1/2 games of wild card-leading Oakland with their 15th win in 20 games after the Athletics (84-63) lost at Detroit.
Weaver (18-4) gave up third-inning homers to Mike Napoli and Ian Kinsler during seven innings of six-hit ball.
Ryan Dempster (6-2) yielded six hits and five runs while failing to get out of the fourth inning, ending his five-start winning streak.
ORIOLES 4, MARINERS 2 (18 INNINGS)
SEATTLE (AP) — Taylor Teagarden stroked a pinch-hit RBI single to right in the 18th inning to help give the Baltimore Orioles a comeback victory over the Mariners.
The win allowed the Orioles (84-64) to pull within a percentage point of the Yankees (83-63) for the lead in the AL East. The Yankees were rained out Tuesday and will play a split double-header with Toronto on Wednesday.
Baltimore maintained a three-game lead over the Los Angeles Angels for the wild-card spot. The Angels beat Texas in Anaheim on Tuesday, 11-3.