Sonny Gray took a perfect game into the seventh inning as the St. Louis Cardinals defeated the visiting San Francisco Giants 5-3 on Sunday to complete a three-game series sweep.
Gray (9-4) retired the first 20 batters he faced. Giants catcher Patrick Bailey ended the veteran right-hander’s chance at perfection by blasting a two-out homer to right in the seventh. Gray allowed just the one hit and one run, struck out eight and walked none. Ryan Helsley converted his 26th consecutive save opportunity to extend his team-record streak.
Alec Burleson went 2-for-4 with two RBIs, two stolen bases and a run for the Cardinals, who have won eight of their past 11 to push two games over .500 for the first time since the 2022 season.
San Francisco starter Logan Webb (6-6) allowed four runs on nine hits in six innings. He struck out eight and walked two.
Rangers 4, Royals 0
Max Scherzer allowed just one hit over five innings in his season debut and Josh Smith homered for the second straight game as Texas completed a three-game series sweep with a victory over Kansas City in Arlington, Texas.
Scherzer (1-0) was making his first appearance since starting Game 3 of the World Series last year. He had surgery in December to repair a herniated disc and later experienced a nerve issue in his right thumb. Leody Taveras went 2-for-4 with two RBIs and a stolen base for the Rangers.
Alec Marsh (5-5) suffered the loss for Kansas City, allowing three runs on eight hits over 5 2/3 innings.
Twins 3, Athletics 0
Pablo Lopez retired the first 17 batters he faced en route to eight shutout innings, Byron Buxton drove in two runs with a home run and a double and Minnesota took a second straight game from host Oakland.
Lopez (7-6) finished with 14 strikeouts, matching his career high. He walked just one. Kyle Farmer added an RBI on a fielder’s choice as part of a two-run seventh, and Griffin Jax completed Minnesota’s fourth shutout of the season with a scoreless ninth.
Oakland, which completed a 3-3 homestand, was shut out for the eighth time this season. Miguel Andujar had two of the Athletics’ three hits.
Phillies 4, Diamondbacks 1
Fresh off agreeing to a four-year contract extension on Saturday, left-hander Cristopher Sanchez pitched seven scoreless innings as Philadelphia beat visiting Arizona in the rubber match of a three-game series.
Sanchez (5-3) scattered three hits and struck out four without walking a batter. He retired the last 11 hitters he faced. David Dahl, Bryce Harper and Alec Bohm had two hits apiece for Philadelphia, with Dahl driving in two runs with a single.
Ketel Marte had an RBI single in the ninth for Arizona, which was outhit 11-6. Diamondbacks starter Slade Cecconi (2-6) allowed one run on five hits over three innings.
Braves 3, Yankees 1
Max Fried pitched six solid innings, leadoff hitter Jarred Kelenic drove in two runs and Atlanta earned a victory over host New York.
Fried (7-3) won for the fourth time in five decisions by holding the Yankees to one run on six hits. Kelenic homered in the third off New York starter Nestor Cortes (4-6) and added a sacrifice fly in the fifth. Ozzie Albies contributed an RBI single.
Anthony Volpe hit an RBI double for the Yankees, who lost their third straight series and fell for the seventh time in 10 games. Cortes allowed three runs on five hits in seven innings.
Rays 3, Pirates 1
Yandy Diaz extended his hitting streak to 16 games with a first-pitch leadoff homer to open the contest, helping visiting Tampa Bay defeat Pittsburgh in the rubber match of a three-game series.
Reliever Kevin Kelly (2-0) allowed one walk and no hits in tossing two-thirds of the seventh inning for the Rays, who have won five of their past seven games. Pete Fairbanks was perfect in the ninth for his 11th save.
Pirates rookie Paul Skenes delivered another quality start, going seven innings and allowing just one run on six hits to go along with eight strikeouts and one walk. Bryan Reynolds went 2-for-3, extending his major-league-leading hitting streak to a career-best 20 games for Pittsburgh.
Guardians 6, Blue Jays 5
Josh Naylor and Steven Kwan each homered in the fourth inning as host Cleveland won to sweep a three-game set against Toronto, which has lost a season-high six straight games.
Naylor had three hits, including his 20th homer of the season, which gave Cleveland a 6-3 lead and proved to be the difference. It came three batters after Kwan opened the fourth with his seventh homer of the year.
Rookie Spencer Horwitz hit his first two homers of the season and Vladimir Guerrero Jr. had a two-run shot for the Blue Jays.
Tigers 11, White Sox 2
Colt Keith had four hits, including a two-run home run, and drove in three runs as host Detroit pounded Chicago.
Riley Greene hit a three-run homer, Akil Baddoo blasted a two-run shot and Zach McKinstry added a solo home run for the Tigers, who had scored just six runs in their previous six games. Reese Olson (2-8) limited the White Sox to two runs and four hits in 6 1/3 innings.
White Sox rookie Jonathan Cannon (1-2) gave up eight runs (five earned) and seven hits in one-plus inning. Nicky Lopez had two hits and drove in both of Chicago’s runs.
Red Sox 7, Reds 4
Connor Wong and Rob Refsnyder each hit a two-run home run to propel visiting Boston to a victory over Cincinnati.
Jarren Duran had three hits and two RBIs for the Red Sox, who took two of three games in the series and have won seven of their past eight games overall. Greg Weissert (3-1) picked up the win by tossing one scoreless inning of relief.
Cincinnati starter Nick Lodolo (8-3) left the mound with two outs in the fifth. He allowed four runs (three earned) on five hits. The Reds kept things interesting by scoring three runs in their half of the sixth, which included an RBI double by Tyler Stephenson.
Marlins 6, Mariners 4
Nick Gordon slugged a three-run, first-inning home run, leading Miami past visiting Seattle.
Marlins closer Tanner Scott loaded the bases with two outs in the ninth before he got Julio Rodriguez to hit a looping liner to second baseman Otto Lopez, who made a leaping catch while falling backward and going to his left. That gave Scott his ninth save this season.
A.J. Puk (1-8) pitched two perfect innings, picking up his first win since Sept. 30, 2023. Bryce Miller (6-6) took the loss, allowing six runs, six hits and one walk in four innings.
Astros 8, Orioles 1
Framber Valdez recorded his fourth quality start this month and Houston parlayed a four-run first inning into a victory over visiting Baltimore, completing a three-game series sweep.
Valdez (6-5) limited the Orioles to one run on six hits over seven innings. Jose Altuve sparked the Astros with his 38th career leadoff home run in the bottom of the first, driving a first-pitch fastball from Orioles starter Albert Suarez (3-2) out to left. Suarez allowed five runs on 10 hits over five innings.
Jeremy Pena and Yainer Diaz both had three-hit games and three RBIs apiece for Houston. Alex Bregman finished 4-for-4 with a walk and scored twice, posting his ninth career four-hit game.
Nationals 2, Rockies 1
Joey Meneses capped a two-run ninth inning with an RBI single and Washington rallied past Colorado to take a three-game series in Denver.
Jacob Young, who had the Nationals’ only hit over the first eight innings, reached on an infield single to start the ninth against Jalen Beeks (4-4). CJ Abrams grounded into a fielder’s choice, went to second on a wild pitch and scored when Lane Thomas doubled to right. Ildemaro Vargas struck out, but Meneses singled to center, scoring Thomas, who had stolen third.
Michael Toglia homered for Colorado. Rockies starter Kyle Freeland was stellar, returning from the 60-day injured list to make his first start since April 14. He gave up one hit over six innings while throwing 69 pitches.
Brewers 6, Padres 2
Blake Perkins’ two-run single keyed a five-run second inning that enabled visiting Milwaukee to defeat San Diego and avoid a four-game series sweep.
Perkins, Sal Frelick, Joey Ortiz, Jake Bauers and Jackson Chourio each bagged two of the Brewers’ 14 hits. Tobias Myers (5-2) pitched five solid innings to pick up the win, allowing five hits and a run.
Padres starter Michael King (5-5) was tagged with the loss after permitting nine hits and five runs over six innings. Luis Arraez collected a pair of hits for the Padres, giving him a National League-best 32 multi-hit games this year.
Mets 5, Cubs 2
Francisco Lindor, Brandon Nimmo and Mark Vientos each homered and Luis Severino recorded a season-high 10 strikeouts over six scoreless innings as New York beat host Chicago to win a three-game series.
DJ Stewart and Harrison Bader had two hits apiece for the Mets, who have won 10 of their past 13 games. Severino (5-2) allowed three hits and zero walks.
Christopher Morel hit a two-run homer for the Cubs. The 420-foot blast was Morel’s 15th homer this season and second in as many games.