Jay Bruce homered in his career-high fifth straight game, connecting off Madison Bumgarner in Cincinnati's 2-1 victory over slumping San Francisco.
Bruce broke a 1-1 tie in the seventh inning with his sixth homer during his five-game streak and 25th of the season.
The NL West-leading Giants got just four hits and lost for the ninth time in 11 games since the All-Star break. The last-place Reds are 8-4 over that stretch.
Dan Straily (6-6) gave up three hits in 7 2/3 innings, and Tony Cingrani pitched a scoreless ninth for his 12th save.
Bumgarner (10-6) allowed one earned run and five hits in eight innings, striking out nine. The Giants have lost six of his last eight starts.
Conor Gillaspie hit a solo homer for the Giants in the second. San Francisco left fielder Angel Pagan dropped a flyball in the fifth, setting up Tucker Barnhart's tying sacrifice fly.
Cubs 8, White Sox 1
Javier Baez hit a tiebreaking two-run homer deep into Wrigley's Field's left bleachers in the seventh and Addison Russell added a grand slam in a five-run eighth as the Chicago Cubs beat the White Sox 8-1.
Jason Hammel (10-5) allowed one run and five hits while striking out seven in seven innings. Hector Rondon pitched a perfect eighth, and Aroldis Chapman worked a 1-2-3 ninth - striking out Jose Abreu and Avisail Garcia - in his Cubs debut.
Baez went deep on a full-count pitch against Anthony Ranaudo (1-1) to chase the right-hander in his White Sox debut. Ranaudo didn't allow a hit until Kris Bryant's solo homer with one out in the sixth tie the score 1-1. Bryant's 26th homer matched his total last season when he was NL Rookie of the Year.
After Ben Zobrist's RBI double in the eighth, Russell followed two hitters later with his 12th homer to help the Cubs end the White Sox's four-game winning streak.
Ranaudo allowed three runs and two hits - both homers - in 6 2/3 innings and smacked an opposite-field homer in the fifth for his first major league hit.
Chapman had 20 saves in 21 chances this season with the Yankees before the Cubs acquired the hard-throwing lefty on Monday for a package of prospects.
Nationals 4, Indians 1
Stephen Strasburg shut down Cleveland for seven innings and bounced back from his only loss this season, leading Washington past the Indians.
Strasburg (14-1) began the season with 13 straight wins before he was beaten by the Los Angeles Dodgers on July 21. The powerful right-hander shook off that blemish, holding the Indians to three hits. Strasburg walked one and struck out seven.
Washington rookie Trea Turner drove in three runs and Daniel Murphy hit his 20th homer off Carlos Carrasco (7-4). Murphy extended his hitting streak to 13 games with the towering shot.
Nationals reliever Blake Treinen stopped Cleveland's threat in the ninth, getting a game-ending double play for his first major league save.
Caridnals 5, Mets 4
Yadier Molina and pinch-hitter Kolten Wong each had an RBI double in the ninth inning, and St. Louis rallied past New York to end Jeurys Familia's saves streak at 52 games.
Yoenis Cespedes hit a go-ahead homer off Adam Wainwright to cap a three-run comeback in the seventh that gave the Mets a 4-3 lead. But then Familia, who hadn't blown a regular-season save opportunity since July 30 last year, finally faltered.
Jedd Gyorko drew a one-out walk in the ninth and was replaced by pinch-runner Randal Grichuk. Molina hit the next pitch to deep center field, and Grichuk scored to tie it.
Molina was thrown out at third by Familia (2-2) on pinch-hitter Jeremy Hazelbaker's comebacker, but Hazelbaker stole second and scored when Wong lined a double just inside the left-field line.
Familia's franchise-record saves streak was the third-longest in major league history behind Tom Gordon (54) and Eric Gagne (84). Jonathan Broxton (3-2) threw a scoreless eighth, and Seung Hwan Oh worked the ninth for his sixth save.
Rays 3, Dodgers 1
Matt Moore pitched four-hit ball into the seventh inning, Evan Longoria hit a two-run homer and the Tampa Bay Rays won at Dodger Stadium for the first time.
Luke Maile had an RBI double in a three-run fourth inning to help Tampa Bay wrap up a nine-game West Coast road swing by snapping a four-game skid. The Rays were swept in a three-game series at Chavez Ravine in 2013, the only other time they've visited the Dodgers' hallowed home turf.
Moore (7-7) struck out five and allowed an unearned run. Alex Colome pitched a perfect ninth for his 22nd save in 23 chances. Brandon McCarthy (2-1) lasted just four innings for the Dodgers in his first loss since Sept. 23, 2014.
Tigers 4, Red Sox 3
Miguel Cabrera hit a tiebreaking home run in the ninth inning that bounced off the top of the wall and into Boston's bullpen, lifting Detroit past the Red Sox for a three-game sweep.
James McCann also hit a solo homer, and Victor Martinez had four singles, a walk and drove in two runs for Detroit. The Tigers have won five of seven.
Boston is the last major league team to be swept in a series of any length this season.
Xander Bogaerts and Dustin Pedroia had solo homers for the Red Sox. They lost for the fifth time in six games to complete a nine-game homestand at 4-5.
Bruce Rondon (4-2) got one out for the win. Justin Wilson got the final three for his first major league save. Brad Ziegler (0-1) took the loss.
Rockies 3, Orioles 1
Nick Hundley broke up Dylan Bundy's no-hit bid with a sixth-inning homer, and Colorado used a strong pitching performance by Jon Gray to beat Baltimore.
David Dahl hit his first major league home run in his third game for the Rockies. Colorado took two of three from the AL East leaders, has won six of seven and is 9-4 since the All-Star break.
Manny Machado connected for the Orioles.
Gray (7-4) outpitched Bundy (3-3) in a duel between rookie right-handers. Carlos Estevez got three straight outs for his 10th save.
Athletics 6, Rangers 4
Khris Davis homered twice, Coco Crisp also went deep and Oakland beat AL West-leading Texas.
Oakland has won four consecutive series for the first time since May 2014. The A's are 9-4 since the All-Star break.
Crisp's two-run homer in the eighth, on a 99 mph fastball from Matt Bush (3-2), put the A's up 4-3. Davis added another two-run shot, his 25th homer of the season, in the inning.
Ryan Dull (5-2) threw 1 1/3 perfect innings in relief of Sean Manaea. Ryan Madson worked the ninth for his 22nd save. Rangers starter Yu Darvish, winless in his last nine starts against Oakland, stuck out six without a walk and departed with a 3-2 lead after six innings.
Ian Desmond hit his 20th homer for Texas.
Marlins 11, Phillies 1
Giancarlo Stanton hit a two-run homer in the first inning to lead a 16-hit attack in Miami's victory over Philadelphia.
Stanton hit his 22nd homer in support of Adam Conley (7-5), who pitched around eight hits and three walks to throw 6 2/3 scoreless innings.
Don Kelly, who began the game 1 for 22 this season, went 3 for 5 with two triples, two RBIs and two runs scored. That raised his average from .045 to .148.
The Marlins' Ichiro Suzuki did not play and remained at 2,997 hits.
Padres 8, Blue Jays 4
Adam Rosales hit a two-run home run, Alex Dickerson and Brett Wallace each hit solo shots and San Diego beat Toronto to avoid a three-game sweep.
San Diego extended its club-record streak with at least one home run to 25 games. It's the longest run since 2002 Texas set the major league record by homering in 27 straight.
Luis Perdomo (5-4) allowed four runs and six hits in 5 2/3 innings.
R.A. Dickey (7-12) was the loser. He has surrendered 26 home runs this season, tying Kansas City's Ian Kennedy and Chris Young for most in the majors.
Melvin Upton Jr. made his first start for Toronto after being acquired from San Diego on Tuesday. He went 1 for 4 with a single.
Pirates 10, Mariners 1
Gerrit Cole threw a three-hitter for his first career complete game and slumping Andrew McCutchen had a three-run home run and two other hits in Pittsburgh's victory over Seattle.
Making the 88th start of his four-year career, Cole (6-6) struck six and walked one while winning for the first time since May 20. McCutchen and Jung Ho Kang each had four RBIs to help the Pirates win for the sixth time in nine games.
James Paxton (3-5) was the loser.
Astros 4, Yankees 1
Lance McCullers struck out 10 in six innings, Colby Rasmus broke out of a slump with a two-run homer and Houston beat New York.
Rasmus snapped an 0-for-29 skid when he sent an off-speed pitch from Masahiro Tanaka (7-3) into the seats behind the bullpen in right-center field to make it 4-0 with in the third.
McCullers (6-4) allowed five hits and one run and tied a season high by fanning 10 for the second straight game. Ken Giles and Luke Gregerson pitched a scoreless inning each before Will Harris got his 11th save by striking out two in the ninth.
Diamondbacks 8, Brewers 1
Yasmany Tomas hit two home runs, Archie Bradley pitched seven innings and Arizona took advantage of Milwaukee's season-high five errors.
Tomas had his fifth multihomer game of the season. He hit a three-shot off in the first and sliced an 0-2 pitch for a two-run homer in the fifth, both off of Jimmy Nelson (6-9).
Bradley (4-6) allowed one run on four hits, walked three and struck out six.
Brewers right fielder Kirk Nieuwenhuis had three errors, and shortstop Jonathan two.
Royals 7, Angels 5
Raul Mondesi had a bunt single for his first big league hit, with two runs scoring on the play on pitcher Matt Shoemaker's throwing error, and Kansas City beat Los Angeles.
Shoemaker, who did not allow a base runner until the fifth inning, yielded singles to Alex Gordon and Paulo Orlando to start the seventh. Mondesi put down a bunt and beat the throw to first as the throw by Shoemaker (5-11) sailed into right field.
Both runners scored and Mondesi wound up on third. Angels manager Mike Scioscia came out claiming interference, and after a review the call on the field stoood. Scioscia officially protested the game.
Joakim Soria (4-4) pitched a scoreless inning for the victory.
Braves 9, Twins 7
Freddie Freeman homered, doubled and tied a career high with five RBIs and Atlanta held off Minnesota for a two-game sweep.
Freeman went 4 for 4 with a walk. His 18th homer gave the Braves a 7-0 lead in the fourth inning.
The Twins closed to 8-7 in the sixth on an RBI grounder by Joe Mauer. Nick Markakis singled home a run in the Atlanta eighth.
Mike Foltynewicz (4-4) got the win despite giving up seven runs and 12 hits in 5 1/3 innings. Jim Johnson pitched the ninth for his fourth save. Tyler Duffey (5-8) was chased in the second.