CHICAGO — Madison Bumgarner outpitched Jake Arrieta with 10 strikeouts over six innings, and the San Francisco Giants pounced on rare miscues by the Chicago Cubs in a 3-2 victory on Saturday.

Bumgarner (14-8) allowed two runs and five hits in his fourth victory in his last five starts. San Francisco, trying to catch Los Angeles in the NL West, rebounded from a pair of one-run losses in the first two games of the four-game set against the major league leaders.

Arrieta (16-6) was charged with three runs — two earned — and four hits in six innings in his first loss since July 30. The Cubs had won five in a row overall.

RANGERS 12, ASTROS 4

ARLINGTON, Texas — Adrian Beltre and Nomar Mazara each homered, Derek Holland pitched his third straight quality start since coming off the disabled list and Texas got its seventh straight victory.

After trailing 1-0, the Rangers got their major league-high 42nd come-from-behind win. They’ve won eight of nine and scored at least 10 runs in each of their past three games.

AL West-leading Texas is 13-2 against the Astros this season and 37-19 against the division.

Holland (7-6) pitched six innings, allowing two runs, six hits and three walks.

Evan Gattis had three hits for Houston, including a solo homer.

Joe Musgrove (2-3) allowed five runs and eight hits over 4 1/3 innings.

METS 3, NATIONALS 1

NEW YORK — Curtis Granderson and James Loney came through with big hits to back Robert Gsellman, and New York got another gritty start from an unheralded rookie in its banged-up rotation.

Gsellman (2-1) pitched out of trouble for six innings, and inexperienced center fielder Michael Conforto made a diving catch that thwarted a potential Nationals rally in the seventh. New York rebounded from consecutive losses and won for the 10th time in 14 games, moving within one game of St. Louis for the final NL playoff berth.

The Cardinals lost 9-1 in Cincinnati.

Washington’s Tanner Roark (14-8) allowed two runs and four hits over five innings.

Jeurys Familia got his major league-leading 45th save in 48 tries.

ORIOLES 2, YANKEES 0

BALTIMORE — Kevin Gausman outpitched CC Sabathia for the second time in seven days, Adam Jones homered and Baltimore got its third straight shutout against New York.

Gausman (7-10) allowed two hits and two walks over six innings to win his fourth straight start. He struck out eight and permitted only one runner past second base.

Zach Britton, the third Baltimore reliever, worked a perfect ninth for his 40th save in 40 opportunities.

Sabathia (8-12) gave up two runs, one earned, in six innings. All it got him was another loss against the Orioles, the third in a row since mid-July.

RAYS 7, BLUE JAYS 5

ST. PETERSBURG, Fla. — Matt Duffy’s three-run double highlighted a five-run sixth inning and last-place Tampa Bay beat AL East-leading Toronto for the second straight game.

The big outburst came against right-hander Marco Estrada (8-7), who had given up just two singles in the first five innings. Duffy’s double was the fifth hit of the inning.

Rookie Blake Snell (5-7) got the win after giving up one run and two hits while striking out seven in six innings.

Toronto rallied for four runs in the ninth off Enny Romero before Alex Colome got the final out for his 30th save.

ROYALS 5, TIGERS 2

KANSAS CITY, Mo. — Eric Hosmer hit his career-high 20th homer, Yordano Ventura pitched into and out of trouble and Kansas City snapped a three-game losing streak.

Ventura (10-9) improved to 7-0 against the Tigers, including three wins this season, and is 4-0 overall in his past six starts

Michael Fulmer (10-6) gave up three runs and seven hits in six innings for the Tigers, falling to 1-4 in his past five starts. He walked one and struck out four.

Wade Davis got his 22nd save in 25 opportunities

INDIANS 8, MARLINS 3

CLEVELAND — Trevor Bauer overcame a shaky first inning and pitched into the ninth, Francisco Lindor was 4 for 4 and Cleveland beat Miami.

Bauer (10-6) shut down the Marlins after giving up three runs and three hits in the first. The right-hander didn’t allow another hit until Ichiro Suzuki led off the ninth with a single.

Lindor doubled in the first and third, singled in the fourth and added an RBI single in the sixth.

Kipnis hit his 22nd homer in the first off Marlins ace Jose Fernandez (13-8), who gave up a career-high 12 hits and seven runs in 5 2/3 innings.

REDS 9, CARDINALS 1

CINCINNATI — Zack Cozart hit a pair of doubles during run-scoring innings that included St. Louis misplays, and Cincinnati sent the Cardinals to their third straight loss.

The Cardinals have lost seven of 11. They’re still in position to get the NL’s second wild-card spot, staying ahead of the Mets, Pirates and Marlins.

Pinch hitter Ramon Cabrera’s two-run single in the seventh inning put the Reds ahead 4-1. Cincinnati used four walks by Jerome Williams to score five times in the eighth.

Dan Straily (11-7) gave up three hits, including Jedd Gyorko’s homer, and a career-high seven walks in only 5 2/3 innings.

Jaime Garcia (10-11) lost after allowing two runs in six innings.

TWINS 11, WHITE SOX 3

MINNEAPOLIS — Miguel Sano and Trevor Plouffe each homered during an eight-run third inning, and Minnesota went deep four times.

Brian Dozier led off with his 34th homer, and Byron Buxton tacked on a two-run shot in the second against beleaguered starter James Shields (5-17).

Hector Santiago (11-8) won for the first time in six starts since the Twins acquired him in late July from the Los Angeles Angels.

DODGERS 5, PADRES 1

LOS ANGELES — Rich Hill pitched six sparkling innings, Yasmani Grandal hit a three-run homer and Los Angeles beat San Diego.

Hill (11-3) allowed one hit, struck out eight and walked two in his second start since the Dodgers acquired him from Oakland at the Aug. 1 trade deadline. The left-hander was scratched at Colorado last week due to a combination of weather and a finger blister.

Kenley Jansen struck out the side in the ninth for his 41st save in 47 chances.

Luis Perdomo (7-8) allowed five runs and nine hits in six innings.

BREWERS 7, PIRATES 4

PITTSBURGH — Struggling rookie Orlando Arcia had three hits, including a tiebreaking single in Milwaukee’s four-run eighth inning, to extend Pittsburgh’s losing streak to five games.

Pittsburgh’s Neftali Feliz (4-2) was charged with two runs, retiring only one of the three batters before leaving with right arm discomfort.

Carlos Torres (3-3) got the win despite allowing Andrew McCutchen’s 19th homer in the seventh inning, tying it at 2.

Tyler Thornburg got three outs for his eighth save.

RED SOX 11, ATHLETICS 2

OAKLAND, Calif. — Rick Porcello didn’t allow a baserunner until Jake Smolinski’s one-out double in the sixth on the way to his majors-leading 19th victory, and Boston routed Oakland yet again.

Porcello (19-3) gave up four hits and two runs in seven innings, struck out two and didn’t walk a batter.

Right-hander Daniel Mengden (1-6), called up from Triple-A Nashville, allowed seven runs and eight hits in just 2 2/3 innings.

BRAVES 6, PHILLIES 4, 10 INNINGS

PHILADELPHIA — Adonis Garcia scored the winning run in the 10th inning after homering twice earlier in the game, and Atlanta beat Philadelphia.

Jed Bradley (1-0) got the win in his major league debut. He threw one scoreless inning and had a strikeout.

Mauricio Cabrera got his fourth save in four opportunities.

Edubray Ramos (1-2) allowed two runs and one hit after allowing a leadoff walk to Garcia.

ANGELS 10, MARINERS 3

SEATTLE — Kole Calhoun and Albert Pujols both homered twice, Mike Trout also went deep and Los Angeles beat Seattle.

Calhoun, Trout and Pujols hit consecutive home runs to lead a six-run first inning against starter Taijuan Walker (4-10).

Tyler Skaggs (3-3) allowed three runs on eight hits in six innings for Los Angeles, striking out seven and walking one.

DIAMONDBACKS 9, ROCKIES 4

DENVER — Chris Owings had a career high-tying four hits, Jake Lamb homered and Arizona beat Colorado.

Braden Shipley (3-3) allowed four runs in 5 1/3 innings in his first time facing Colorado.

The Diamondbacks broke it open in the third off Tyler Chatwood (10-9). Welington Castillo had a three-run double and Lamb followed with his 27th homer to make it 6-0.