CHICAGO (AP) " St. Louis' Randal Grichuk hit a grand slam to cap a six-run burst in the eighth inning that lifted the Cardinals to an 8-4 win at Chicago on Saturday, ending the Cubs' 11-game winning streak.
The result trimmed the gap between the National League Central division's top teams to a still yawning 13 games, and a wildcard playoff berth still appears to be the limit of St. Louis' ambitions.
It's much closer in the NL West, where San Francisco retained its one-game lead over the Los Angeles Dodgers by winning an interleague clash with Baltimore.
That loss dropped the Orioles out of the American League East lead, slipping behind Toronto which beat Houston.
Detroit ended a five-game losing sequence and boosted its wildcard hopes with a shutout victory over AL West leader Texas.
St. Louis took control at Wrigley Field with two outs in the eighth. After a run-scoring wild pitch and a bases-loaded walk, Grichuk connected for his four-run shot to put the Cardinals in command. Brandon Moss and Jedd Gyorko also hit homers for St. Louis.
Cardinals starter Luke Weaver got through four innings in his major league debut, giving up two runs.
San Francisco ace Madison Bumgarner snapped a five-start winless rut with seven scoreless innings to steer the Giants to a 6-2 victory over Baltimore.
Bumgarner had lost five of his previous seven decisions but was back to his best form, striking out eight.
Denard Span sparked the Giants with two-run singles in the second and sixth innings. Both came with two outs.
Toronto capitalized on the Orioles' defeat and returned to the top of the division with a 4-2 win against Houston.
Russell Martin hit a go-ahead three-run homer in the sixth inning while Aaron Sanchez survived a shaky first inning to pitch seven frames.
Detroit's Matt Boyd pitched seven scoreless innings while opposing starter Cole Hamels had a rare bad day as the Tigers defeated Texas 2-0.
Boyd limited the Rangers to two hits in his longest start this season and has won his past four decisions.
Hamels allowed a career-worst 14 hits, and was lucky to get away with only conceding two runs, as the Tigers stranded 11 runners on base, seven in scoring position. Four of the hits against him were by Casey McGehee.
The Los Angeles Dodgers kept up their dogged pursuit of San Francisco by beating Pittsburgh 8-4.
Joc Pederson produced a two-run homer and had three hits for the Dodgers, who accumulated 17 hits in all as they came from 3-1 down by scoring in each of the first six innings.
Los Angeles was in control despite losing starting pitcher Brandon McCarthy to a right hip injury in the second inning.
Chicago's Dioner Navarro scored the go-ahead run on a strikeout, capping a bizarre eighth-inning comeback that led the White Sox to an 8-7 victory at Miami.
The White Sox blew an early 4-0 lead and trailed 7-6 to start the eighth. They rallied against Marlins pitcher Kyle Barraclough with the help of a walk, two wild pitches and Justin Morneau's double. After Morneau tied it, the Sox had runners at the corners with two out. Melky Cabrera took a weak swing at a 2-2 pitch in the dirt, but the ball skipped away from catcher J.T. Realmuto, allowing Cabrera to reach first base while Navarro came home from third for what proved the winning run.
Cleveland rookie Mike Clevinger held the Los Angeles Angels hitless for the first five innings to set up a 5-1 win.
Clevinger allowed one hit in his 91 pitches against the team that drafted him in 2011 but traded him three years later.
The Angels have lost nine in a row; their worst losing sequence for 17 years.
Seattle's Robinson Cano and Nelson Cruz homered as the Mariners edged Oakland 4-3 to notch their seventh win in eight games.
Cruz hit his 29th home run of the season leading off the fourth inning. Seth Smith singled in the go-ahead run with two outs in the fifth, and Cano hit the next pitch over the center-field wall for his 26th homer.
Washington's Daniel Murphy hit a two-run homer and drove in four runs to power the Nationals to a 7-6 win against Atlanta.
Philadelphia's Maikel Franco hit a three-run homer, then was in the middle of a testy exchange that led to the benches clearing and a pair of ejections as the Phillies downed Colorado 6-3.
Boston's Brock Holt hit a two-run homer and Sandy Leon had a solo shot as the Red Sox won 6-3 against Arizona.
New York's Wilmer Flores drove in the winning run when San Diego's rookie second baseman Ryan Schimpf made a wild throw to home plate in the 11th inning, giving the Mets a 3-2 win over the Padres.
The Mets' crosstown rivals, the New York Yankees, also won as Tyler Austin and Aaron Judge became the first teammates to hit home runs in the first at-bats of their major league debuts in the same game, sparking the Yankees past Tampa Bay 8-4.
Minnesota's Brian Dozier hit his 25th home run of the season and the 100th of his career, leading the Twins past Kansas City 5-3.
Cincinnati's Eugenio Suarez hit a three-run home run during an eight-run sixth inning that powered the Reds to an 11-5 win at Milwaukee.
This story has been automatically published from the Associated Press wire which uses US spellings