BOSTON - Mark Bellhorn tied the score with a two-run homer in the ninth inning and pinch-hitter Jason Varitek doubled home the winner, leading the Red Sox over the Kansas City Royals 7-6 Friday night.
Boston trailed 6-2 in the eighth before rallying to win its third straight after a season-worst five-game losing streak. Kansas City, 2-13 on the road this season, has lost 17 of its past 21 overall.
Doug Mirabelli drove in Manny Ramirez with an eighth-inning single after Gabe Kapler's fly ball fell in front of centerfielder Carlos Beltran for a single. Kapler also scored on Mirabelli's hit when leftfielder Matt Stairs threw wildly past second base for an error.
Mike MacDougal walked Johnny Damon leading off the ninth, and Bellhorn homered deep into the rightfield seats.
After David Ortiz struck out, Ramirez walked. Scott Sullivan relieved and got Kevin Millar to pop to second, then allowed Varitek's drive down the rightfield line. Ramirez barely beat the relay from second baseman Desi Relaford.
Mike Timlin pitched a hitless ninth in relief of Tim Wakefield, who allowed six runs, four earned, and nine hits in eight innings.
Damon homered and doubled for Boston.
Kansas City's Jeremy Affeldt allowed four runs and 11 hits in 71/3 innings.
The Royals took a 2-0 lead on Mike Sweeney's grounder in the first and a fielding error by Bellhorn at second after Wakefield caught Beltran off first for what would have been the final out of the inning.
Damon's homer and Millar's run-scoring double tied it in the third.
Juan Gonzalez hit a go-ahead single in a four-run fifth that also included Stairs' run-scoring double and Joe Randa's run-scoring infield single. Third baseman Bill Mueller's throwing error let in another run.
TIGERS 8, RANGERS 7: Ivan Rodriguez hit a two-run, tiebreaking homer in his return to Texas with Detroit.
Rodriguez, playing against the Rangers for the second time, broke a tie at 5 with his shot in the eighth off Jeff Nelson. It was his fifth homer of the season.
Carlos Guillen went 3-for-4, including a three-run homer and run-scoring triple, as the Tigers snapped a four-game losing streak.
Rodriguez spent his first 111/2 seasons in Texas. The catcher made his major-league debut at age 19, then was selected to 10 All-Star Games and won 10 Gold Gloves.
He left the Rangers after not being offered a new contract or salary arbitration after the 2002 season. He won a World Series last season with Florida, then signed a $40-million, four-year contract with Detroit.
MARINERS 6, YANKEES 2: Edgar Martinez hit a two-run homer and drove in two others with his 500th career double, leading host Seattle.
Martinez received a loud standing ovation as he stood at second in the first inning after he became the 39th player since 1900 to hit 500 doubles. It drove in former Ray Randy Winn and Scott Spiezio to put the Mariners ahead 2-0.
Ryan Franklin pitched into the seventh and looked good much of the night in front of the largest crowd in Safeco Field history. Franklin retired the side in order three times in six innings.
BLUE JAYS 5, WHITE SOX 4: Reed Johnson hit a winning single in the ninth for host Toronto.
Terry Adams pitched the ninth for the win, and Orlando Hudson and Eric Hinske hit two-run homers off Jon Garland in the sixth inning.
With the score tied at 4, Hudson led off the ninth with a walk against reliever Cliff Politte, advanced to second on Chris Gomez's groundout and scored on Johnson's hit down the rightfield line.
Carlos Delgado had two hits to surpass Lloyd Moseby for second on Toronto's career list with 1,320, 263 fewer than Tony Fernandez.
ORIOLES 3, INDIANS 2 (10): Larry Bigbie homered off Chad Durbin leading off the 10th for host Baltimore. Rafael Palmeiro homered in the sixth to tie it at 2 for the Orioles, who won for the fourth time in 11 games.