Gavin Sheets hit a go-ahead three-run homer in the seventh inning, and the visiting San Diego Padres rallied past the Cincinnati Reds 6-4 on Saturday.

After the Padres were no-hit for eight innings by Nick Martinez in Friday’s 8-1 loss, their bats woke up against the Reds bullpen.

Jake Cronenworth took Scott Barlow deep in the sixth for a two-run shot that got San Diego within 4-3. Sheets then made it 6-4 with a 422-foot blast to right-center against Lyon Richardson (0-2).

Cronenworth’s homer jolted a San Diego offense that had scored just three runs in its previous 25 innings.

Andrew Abbott had another strong start for the Reds, departing with a 4-1 lead after five innings. He allowed Luis Arraez’s homer in the fifth.

White Sox 1, Giants 0: Adrian Houser pitched seven sharp innings and Andrew Benintendi homered in the sixth as host Chicago White Sox blanked San Francisco.

Houser (3-2) allowed four hits and a walk while striking out five before giving way to Grant Taylor, who pitched two hitless innings for his second save.

Benintendi hit his 10th home run — a two-out shot to right-center field on a 2-0 pitch from Robbie Ray (8-3), who gave up four hits and struck out six in six innings.

It was the fourth 1-0 loss this season for San Francisco (45-38), which has lost 11 of its last 15 games.

Chicago (27-56) won for the fourth time in 16 games.

Cubs 12, Astros 3: Kyle Tucker had four hits, including a three-run homer, against the team that traded him in December, and Chicago stopped host Houston’s five-game winning streak.

Tucker also scored four times to pace a lineup that had 15 hits. Seiya Suzuki, Michael Busch and Nico Hoerner also went deep.

Chicago hit three homers during a seven-run fourth. Busch and Hoerner had back-to-back solo shots to put the Cubs on top 3-2, and Tucker’s drive made it 7-2.

The offensive outburst came in support of Colin Rea (5-3), who allowed two runs and five hits over five innings. The only blemish on his line was rookie Cam Smith’s two-run homer in the third, which briefly gave the Astros a 2-1 lead.

Smith, part of the package Houston received for Tucker, finished with two hits.

Lance McCullers Jr. (1-3) came off the injured list and allowed eight runs on seven hits over 3 1/3 innings.

Isaac Paredes, also part of the Astros’ trade return for Tucker, hit his 17th homer.

Athletics 7, Yankees 0: Brent Rooker ended Clarke Schmidt’s scoreless streak at 28 1/3 innings with a solo homer in the fourth inning, Nick Kurtz added a three-run drive in the sixth and the Athletics beat New York at Yankee Stadium.

Former Yankee JP Sears (6-7) allowed two hits over 5 2/3 innings for the A’s, who had lost five of six and entered a major league-worst 11-31 since May 13.

Jack Perkins, a 25-year-old right-hander who debuted last weekend, finished the three-hitter for his first big league save.

Schmidt (4-4) gave up four runs and four hits in six innings.

Marlins 8, Diamondbacks 7 (10): Agustín Ramírez hit a run-scoring single in the 10th inning, Heriberto Hernández had a tying sacrifice fly in the ninth and Miami stretched its winning streak to six games with a road victory over Arizona.

Arizona led 7-3 entering the eighth inning, but Miami’s Otto Lopez hit a two-run homer off Jalen Beeks and Liam Hicks followed with a run-scoring single to pull Miami to 7-6.

Arizona’s Ketel Marte homered and had four RBIs.

Cardinals 9, Guardians 6: Victor Scott II had two hits and two RBIs as St. Louis rallied from five runs down for a victory at Cleveland.

Brendan Donovan and Willson Contreras both homered for the Cardinals.

Kyle Manzardo and Gabriel Arias went deep for the Guardians (40-41), who have lost three straight.

Rangers 3, Mariners 2 (10): Marcus Semien had an RBI single with the bases loaded in the bottom of the 10th and Texas edged Seattle.

Brewers 5, Rockies 0: Quinn Priester struck out a career-high 11 in seven innings of one-hit ball, Joey Ortiz homered for the third time in four games, and host Milwaukee extended its winning streak to four with a victory over Colorado.

Priester (6-2) allowed a one-out single to Michael Toglia in the fifth and walked a pair while throwing 95 pitches in the longest start of his three big league seasons.

Aaron Ashby and DL Hall completed the one-hitter.

Brice Turang had three hits, including a run-scoring infield single in the first and an RBI double in the fifth.

Braves 6, Phillies 1: Spencer Schwellenbach struck out a career-high 12 and Sean Murphy hit a grand slam as Atlanta defeated visiting Philadelphia.

Schwellenbach (7-4) gave up one run, three hits and one walk in seven innings.

Jesús Luzardo (7-4) gave up two runs on seven hits and two walks in five innings for the Phillies. He struck out seven.

Pirates 9, Mets 2: Andrew McCutchen and Bryan Reynolds hit consecutive two-run doubles during a six-run eighth inning as Pittsburgh topped visiting New York.

Red Sox 15, Blue Jays 1: Wilyer Abreu hit a three-run homer in the first inning to jump start the offense, Ceddanne Rafaela and Romy Gonzalez added two-run shots, and Boston snapped a six-game losing streak with a home win over Toronto.

Lucas Giolito (4-1) gave up an unearned run and six hits over seven innings to win for the third time in four starts.

Tigers 10, Twins 5: Zach McKinstry had three hits, including one of Detroit’s four home runs in a home win over Minnesota.

Riley Greene, Kerry Carpenter and Gleyber Torres also homered for the Tigers.

Casey Mize (8-2) gave up two runs on five hits and one walk in 6 2/3 innings.

Rays 11, Orioles 3: Jonathan Aranda and Yandy Díaz each homered, Zack Littell pitched seven innings and Tampa Bay won at Baltimore.

Littell (7-7) gave up one run and three hits with two walks.

Tampa Bay, which won for the 11th time in 15 games, grabbed the lead two batters into the game against Zach Eflin (6-6) when Josh Lowe doubled and scored on Brandon Lowe’s single. One out later, Aranda hit a 467-foot shot out to right field for his 10th home run and a 3-0 lead.

RALEIGH JOINS DERBY

Mariners catcher Cal Raleigh, who leads the majors in homers with 32, said he will participate in the Home Run Derby on July 14 at Truist Park in Atlanta.

It’s the first derby appearance for the 28-year-old who this season became the first catcher and first switch-hitter to reach 30 homers before the All-Star break.

Ronald Acuña Jr. of the host Braves was announced Wednesday as the first of the eight hitters who will compete in the Derby.