CHICAGO (AP) — Adam Engel and Matt Davidson homered as the White Sox ended a nine-game losing streak with a 3-1 victory over the crosstown rival Cubs at Wrigley Field on Monday.

The Cubs lost for just the second time in 10 games following the All-Star break to fall a half-game behind idle first-place Milwaukee in the NL Central.

Engel lined his third homer of the season off reliever Justin Grimm (1-1) into the wind and several rows into the left-center bleachers to snap a 1-1 tie in the sixth. Davidson led off the eighth with his 19th homer, which sailed over the left-field stands and onto Waveland Avenue.

Miguel Gonzalez (5-9) allowed one run and seven hits in 7 1/3 innings to end a four-game losing streak and win for just the second time in 11 decisions.

Jose Abreu had two hits and doubled in a run for the AL-worst White Sox, who ended their longest slide in four years.

BLUE JAYS 4, ATHLETICS 2

TORONTO (AP) — Francisco Liriano won for the first time in three starts, Russell Martin homered and the Blue Jays beat the Athletics to end a three-game losing streak.

Martin had two hits and Ezequiel Carrera reached base three times as the last-place Blue Jays won the opener of a seven-game homestand.

Oakland had just two hits against Liriano and three Toronto relievers, losing for the third time in four games.

After pitching a combined 3 2/3 innings in his previous two starts, Liriano (6-5) started on three days rest, moving up to take the turn of injured righty Aaron Sanchez (blister). Liriano allowed two runs and two hits in five innings.

Joe Biagini pitched two innings, Ryan Tepera worked a perfect eighth and Roberto Osuna struck out the side in the ninth for his 25th save in 29 chances.

Oakland right-hander Chris Smith (0-1) allowed three runs and six hits in six innings.

ORIOLES 5, RAYS 0

ST. PETERBURG, Florida (AP) — Kevin Gausman pitched six strong innings, Adam Jones homered and the Orioles sent the Rays to their season-worst fifth straight loss.

The Rays began the day tied for the second AL wild-card spot. Baltimore won for the sixth time in eight games.

Gausman (7-7) gave up five hits and struck out eight. Darren O'Day, Brad Brach and Richard Bleier completed a six-hitter

Blake Snell (0-6) went a career-high seven-plus innings. The lefty, who entered with 19 of 30 career starts lasting five or fewer innings, allowed three runs and six hits.

Jones has an RBI in six straight games. Manny Machado drove in two runs during a three-run eighth.

Rays catcher Wilson Ramos left in the fifth after he was struck on the head by a piece of Ruben Tejada's broken bat. The team said Ramos got six staples and will be evaluated.

INDIANS 6, REDS 2

CLEVELAND (AP) — Josh Tomlin pitched six efficient innings, Carlos Santana homered twice and the Cleveland Indians won their fourth straight, over the tumbling Reds in the makeup of a May 25 rainout.

Tomlin (7-9) gave up two homers but stayed in the strike zone and won his third straight start. Cleveland's bullpen did its part as well, with Andrew Miller working two innings and Cody Allen finishing up.

Santana homered in the seventh and eighth as the Indians moved over .500 (25-24) at Progressive Field for the first time since winning their home opener on April 11.

Cleveland's Roberto Perez snapped a 1-1 tie in the fifth with an RBI double off Reds starter Tim Adleman (5-8), who lost his fourth straight start.

ROYALS 5, TIGERS 3

DETROIT (AP) — Salvador Perez and Mike Moustakas hit consecutive homers in the 12th inning, and the Royals won their sixth straight game, over the Tigers.

Hours after the Royals helped their pitching staff by acquiring Trevor Cahill and two relievers in a trade with San Diego, Kansas City outlasted the Tigers to stay 1 ½ games behind first-place Cleveland in the AL Central. Jorge Bonifacio also homered for the Royals, who won despite squandering a 3-0 lead in the sixth.

Jakob Junis (3-2), one of seven relievers used by Kansas City, pitched a hitless 11th for the win. Kelvin Herrera finished for his 20th save in 23 chances.

Drew VerHagen (0-1) took the loss, allowing the homers to Perez and Moustakas in his third inning of work.

MARLINS 4, RANGERS 0

ARLINGTON, Texas (AP) — Giancarlo Stanton hit more two home runs and moved into a tie for the major league lead, sending Adam Conley and the Marlins over the Rangers.

Stanton has 32 homers, including six in his last seven games, and matched Yankees rookie Aaron Judge for most in the majors. Stanton hit a two-run drive in the first inning and a solo shot in the eighth.

Texas star Adrian Beltre went 4 for 4, giving him 2,993 career hits. He moved closer to becoming the 31st player to reach 3,000.

Conley (3-3) pitched seven impressive innings during his second start since getting recalled from Triple-A New Orleans on July 18. He allowed seven hits and struck out five as he pitched past the sixth inning for the first time this season.

Martin Perez (5-8) went seven innings.

CARDINALS 8, ROCKIES 2

ST. LOUIS (AP) — Randal Grichuk hit a two-run homer, Mike Leake pitched seven scoreless innings and the Cardinals beat the Rockies.

Leake's six-strikeout performance was his best since giving up one run over eight innings against Washington on June 30. It was the first win for Leake (7-8) against the Rockies since Aug. 10, 2011.

Kevin Siegrist pitched the Cardinals out of a two-on, one-out jam in the eighth by getting Gerardo Parra to strike out and Mark Reynolds to fly out. Tyler Lyons struck out the side in the ninth.

The Cardinals improved to 20-5 against the Rockies at home since the 2010 season. Colorado fell to 3-14 in its last 17 road games.

Grichuk's two-run homer off Rockies starter Antonio Senzatela (10-4) gave the Cardinals a 4-0 lead in the fourth, extending his home run streak to a career-high four games.

DODGERS 6, TWINS 4

LOS ANGELES (AP) — Cody Bellinger continued his super rookie season, drilling a three-run homer in the eighth inning to rally the Dodgers to a victory over the Twins.

It was Bellinger's 28th home run of the season, second in the National League behind Miami's Giancarlo Stanton's 32.

Edward Paredes, making his major league debut after 12 seasons in the minors, threw a scoreless eighth to earn the win. Kenley Jansen pitched the ninth to earn his 25th save.

Eddie Rosario drove in three runs for the Twins on a solo homer and two doubles.

Taylor Rogers (5-2) gave up two hits prior to Bellinger's home run to take the loss.

The Dodgers were playing their first game since losing ace Clayton Kershaw for an undetermined time with a back injury.

METS 5, PADRES 3

SAN DIEGO (AP) — Jacob deGrom won his eighth straight start and the Mets held on when pinch-hitter Jabari Blash's bid for a game-winning home run was barely foul, beating the Padres.

DeGrom (12-3) gave up two runs in eight innings, striking out eight. The last Mets pitcher to win eight straight starts was Bobby Jones in 1997.

Hunter Renfroe homered twice for San Diego, including a leadoff shot in the ninth inning. The Padres then put two runners on base with one out, and Blash sent a long drive that whispered past the foul pole and landed in the right-field seats — it was called foul, a ruling upheld on video replay.

Addison Reed, who played at San Diego State, then struck out Blash and closed for his 17th save.

Wilmer Flores homered off Clayton Richard (5-10). Asdrubal Cabrera had three hits, Jay Bruce had two hits and two RBIs, and Jose Reyes stole his 500th career base.

MARINERS 4, RED SOX 0

SEATTLE (AP) — James Paxton allowed four singles over seven innings to win his fifth consecutive start in July and Kyle Seager homered to pace the Mariners to a victory over the Red Sox.

Paxton (10-3) retired the first 13 hitters before Jackie Bradley Jr.'s single to center with one out in the fifth. The left-hander, who worked out of trouble in the sixth and seventh innings, struck out 10 and walked none. Paxton has allowed six earned runs in 33 1/3 innings and not given up a home run in five starts this month.

Nick Vincent and David Phelps each pitched a perfect inning to finish.

Eduardo Rodriguez (4-3) allowed four runs on six hits in 5 1/3 innings. He struck out six and walked two in his second start since coming off the disabled list.

DIAMONDBACKS 10, BRAVES 2

PHOENIX (AP) — J.D. Martinez hit a three-run home run to help Zack Greinke and the Diamondbacks cruise to a win over the Braves.

Martinez, hitless in his first five at-bats as a Diamondback after coming over in a trade with the Detroit Tigers last week, hammered a 1-2 pitch from reliever Matt Wisler high off the center field batters eye with nobody out in the bottom of the sixth. It was his 17th home run of the season.

Greinke (12-4) pitched eight innings and allowed two runs on five hits with six strikeouts. He's 10-0 in 12 starts at Chase Field this season. Greinke added a run-scoring double in the second inning and a pair of sacrifices.

A.J. Pollock hit a two-run homer, doubled twice and drove in four runs, and Jeff Mathis reached base four times with three singles and a walk, scoring twice for the Diamondbacks.

R.A. Dickey (6-7) took the loss with his knuckleball often more wild than baffling. Dickey threw four wild pitches that helped the Diamondbacks get into scoring position over his 3 2-3 innings of work, and walked five while striking out four.

PIRATES 10, GIANTS 3

SAN FRANCISCO (AP) — Andrew McCutchen hit a three-run homer and had four RBIs, Gerrit Cole won for the fifth time in six starts, and the Pirates beat the Giants.

Jordy Mercer added a three-run homer of his own in the eighth to further back Cole (8-7), 5-1 in his last eight starts. That lone defeat came June 30 as San Francisco swept the Pirates at Pittsburgh from June 30-July 2 — the Giants' first in the series since 2009.

This time, Pittsburgh immediately jumped on San Francisco starter Matt Cain (3-9), who matched the longest losing streak of his career at eight games — also done from July 28, 2015-May 10, 2016.

Giants manager Bruce Bochy was ejected by plate umpire Chris Conroy for arguing balls and strikes in support of Cain moments after McCutchen connected, the skipper's second time being tossed this year.

ASTROS 13, PHILLIES 4

PHILADELPHIA (AP) — Jose Altuve had two doubles and two singles, stretched his sizzling hitting streak to 16 games and helped the Astros beat the Phillies.

A day after tying his career high for hits in a game at Baltimore, Altuve got four more and drove in three runs while raising his major league-leading average to .365.

Altuve is batting .528 (38 for 72) during his streak. He has gotten at least three hits in eight of those 16 games.

Alex Bregman homered and doubled twice, and Brian McCann also homered for Houston. The AL West leaders got 18 hits, eight for extra bases.

The game ended after midnight, running late because of a rain delay in the fourth inning that lasted nearly two hours.