DETROIT — Miguel Cabrera reached another milestone, and that was just one highlight for the Detroit Tigers during a scrappy eighth-inning comeback.

Cabrera singled for his 1,000th RBI with the Tigers, and Detroit went on to score three runs in the eighth, rallying for a 4-3 win over the Red Sox on Thursday that snapped Boston's six-game winning streak. Second baseman Ian Kinsler caught a line drive by Mookie Betts for the final out in the ninth with runners on second and third.

Detroit's offence finally broke through after scoring one run in each of three straight losses to Kansas City.

"It was fun. It hasn't been fun for the last three days," manager Brad Ausmus said. "There wasn't a lot of activity in the dugout because we didn't have a lot of offence going on. And it was fun to do it in a situation where the game was on the line."

The Red Sox scored twice in the eighth to go up 3-1, but the Tigers rallied. Cabrera's run-scoring single made it 3-2 and gave him 1,000 RBIs for his Detroit tenure — and 1,523 overall in a career that started in 2003 with the Marlins.

"Playing eight, nine years here, it made me proud, because you don't see that too often right now because all the trades, the situation around baseball," Cabrera said. "It's hard to play with one team for a long time."

Brad Ziegler came on and allowed a tying single to Victor Martinez. J.D. Martinez walked to load the bases with nobody out, but a grounder and a strikeout left the bases still loaded.

Andrew Romine then drew a walk to put Detroit ahead.

Boston threatened in the ninth against Francisco Rodriguez. David Ortiz's pinch-hit single put men on first and second with one out, and Xander Bogaerts moved the runners over with a groundout. Betts made solid contact, but Kinsler was well positioned and needed to move only slightly to his right to make the play.

Rodriguez got his 34th save in 37 chances.

Justin Wilson (3-4) won in relief. Junichi Tazawa (2-2) failed to retire a batter in the eighth.

Sandy Leon homered for Boston.

The Red Sox won at Baltimore on Wednesday night, and manager John Farrell said they arrived at their hotel around 4 a.m. Thursday — about nine hours before the first pitch. Ortiz and Dustin Pedroia were out of the starting lineup.

"I thought we brought great energy considering the circumstances coming into this ballgame," Farrell said. "We fought hard."

Boston played in its fourth city in five days. The team was home at Fenway Park on Sunday, had a makeup game Monday in Cleveland, then went to a two-game series in Baltimore.

Jarrod Saltalamacchia hit a sacrifice fly for Detroit in the second, and Leon tied it in the fourth with a leadoff homer.

Hanley Ramirez hit an RBI single for Boston in the eighth, and Betts scored on a wild pitch.

Boston's Clay Buchholz and Detroit's Matt Boyd each allowed a run in six innings.

WILD INNING

Detroit's first run came after a crucial reversal in the second. Casey McGehee of the Tigers was initially called out when centre fielder Jackie Bradley Jr. made a diving attempt on his flyball in right-centre. Replays clearly showed that Bradley hadn't caught the ball, and after a review, umpires awarded McGehee first base and put J.D. Martinez on third.

Boston third base coach Brian Butterfield was then ejected while Saltalamacchia batted.

"I think Mr. Butterfield was arguing out on balls and strikes with (plate umpire Scott Barry), and he warned him a couple times and he didn't pay any attention to the warnings," said crew chief Jerry Layne, who was umpiring first. "Whether he wanted to go or not, he didn't pay any attention to what was going to happen if he continued, and he was ejected."

TRAINER'S ROOM

Red Sox: P Steven Wright (right shoulder) is expected to throw a bullpen session by Saturday.

UP NEXT

Red Sox: RHP Rick Porcello (16-3) takes the mound against his former team when Boston faces the Tigers again Friday night.

Tigers: Rookie Michael Fulmer (10-3) starts for Detroit.

___

Follow Noah Trister at www.Twitter.com/noahtrister