ARLINGTON, Texas (AP) " Boston's Mookie Betts hit a two-run homer with two out in the ninth inning before Dustin Pedroia scored the tiebreaking run on a wild pitch as the Red Sox won 8-7 at Texas on Friday in a clash of American League contenders.
The victory kept the Red Sox within 1-1/2 games of the AL East lead while the Rangers' lead in the AL West was trimmed back to a still impressive nine games.
In the AL Central, top team Cleveland widened its lead by beating division rival Detroit yet again.
The Chicago Cubs, which have the overall best record in the majors, corrected a four-game losing wobble by winning narrowly at Miami, remaining 1-1/2 games ahead of San Francisco who edged Philadelphia in a meeting of teams with markedly divergent form lines.
Texas made a pitching change in the ninth inning after Boston's Sandy Leon had an RBI double on the 11th pitch of his at-bat. Matt Bush came on, but with two outs he gave up the two-run shot to Betts.
Pedroia then walked, went to third base on a single and came home on the wild pitch, completing Boston's rally from an early 6-0 deficit.
Cleveland improved to 7-0 this season against Detroit by beating the Tigers 7-4.
Jason Kipnis hit two of four triples by the Indians, who continued their dominance of the rivalry despite Detroit's form and confidence being on the rise after a four-game sweep of Seattle.
The win increased Cleveland's lead in the AL Central to four games.
Chicago rookie Willson Contreras homered and drove in three runs to help the Cubs win 5-4 at Miami.
Contreras hit a two-run homer in the Cubs' four-run first inning. His RBI single in the seventh put the team ahead to stay. He's batting .412 with eight RBIs after seven games in the big leagues.
While Contreras again excelled as a reinforcement for the injury-hampered NL Central leaders, they endured another setback when second baseman Ben Zobrist left the game after he was hit by a pitch on the left ankle.
San Francisco's Brandon Belt hit a three-run double that propelled the Giants to a 5-4 victory over Philadelphia.
The Giants trailed 2-1 in the bottom of the seventh inning when Belt cleared the bases with a shot to center.
Angel Pagan had three hits while starter Jake Peavy continued his form resurgence by allowing two runs in seven innings as the Giants won their 31st game from the past 40. That tied the franchise record for the best record in any 40-game block.
The Phillies have lost 10 of their past 11.
Chicago's Melky Cabrera homered and Todd Frazier drove in the go-ahead run with a single in the seventh as the White Sox downed Toronto 3-2.
Cabrera hit a solo homer in the fifth and finished with three hits against his former team, while Frazier broke a 2-2 tie with a sharp single to left with two outs in the seventh.
David Robertson escaped a bases-loaded jam in the ninth, striking out Edwin Encarnacion swinging and inducing a popup by Michael Saunders to end the game.
Pittsburgh manager Clint Hurdle celebrated his 1,000th career victory as the Pirates won 8-6 to end the Los Angeles Dodgers' six-game winning run.
Matt Joyce homered and doubled among his three hits while filling in for right fielder Gregory Polanco, who sat out with lower leg discomfort. Jung Ho Kang also homered as the Pirates won for just the third time in 16 games.
Houston's George Springer hit a grand slam and a triple in a nine-run first inning that underpinned the Astros' 13-4 win against Kansas City.
Springer finished with five RBIs after his torrid start against Royals pitcher Edinson Volquez, who retired only three of the 15 batters he faced with 12 scoring. That ballooned his season earned run average up more than a full run to 5.15 per nine innings. He gave up eight hits and walked three.
Milwaukee won 5-3 against Washington, sending the Nationals to a season-worst sixth-successive loss.
Kirk Nieuwenhuis, who struck out swinging against Max Scherzer his first two times up, hit a two-run homer off the Washington ace in the sixth inning. Keon Broxton also sent a Scherzer pitch into the stands.
Scherzer allowed five runs over six innings, striking out 10 but toiling through 117 pitches.
Seattle's Adam Lind hit a game-ending three-run homer off Trevor Rosenthal in the ninth inning to give the Mariners a 4-3 victory over St. Louis and ending a six-game losing slump.
Baltimore extended Tampa Bay's losing sequence to eight straight as Adam Jones homered to start a four-run sixth inning that led the Orioles to a 6-3 win.
Arizona's Yasmany Tomas homered twice and drove in four runs while Michael Bourn had a tiebreaking single in the ninth inning as the Diamondbacks rallied for a 10-9 win against Colorado.
New York's James Loney hit a three-run homer and Travis d'Arnaud drove in three runs as the Mets went out to an 8-0 lead over Atlanta and they survived a six-run fifth inning by the Braves and won 8-6.
Oakland's Khris Davis hit a tiebreaking three-run homer in the eighth inning to lead the Athletics past the Los Angeles Angels 7-4.
San Diego's Wil Myers drove in five runs and Melvin Upton Jr. hit a pair of two-run homers as the Padres scored in each of the first eight innings and beat Cincinnati 13-4.
The New York Yankees capitalized on three Minnesota errors to beat the Twins 5-3.