ST. LOUIS — Danny Duffy worked six innings of one-hit ball and Alex Gordon homered to start a breakout three-run seventh for the Kansas City Royals in a 6-0 victory over the suddenly punchless St. Louis Cardinals on Monday night.
The Royals had just two singles off Shelby Miller (6-5) in a game that had been scoreless before they opened the seventh with four straight hits. Gordon’s fifth homer ended a 15-inning scoreless drought and Mike Moustakas capped the rally with a two-run double.
Matt Holliday had two singles and a walk for the Cardinals, who have been shut out in consecutive games and have single-digit hit totals the last four games.
Between Holliday’s single with two outs in the first and his single leading off the seventh, the Cardinals were 0 for 17 with a walk — also by Holliday in the fourth.
Duffy (3-5) struck out five and walked one, rebounding from consecutive losses in which he surrendered 10 earned runs in 10 innings.
Three relievers completed a three-hitter.
The Royals advanced one runner to second base before Gordon led off the seventh with his fifth homer, a drive over the Cardinals’ bullpen in right field.
Lorenzo Cain beat out an infield hit unsuccessfully challenged by the Cardinals and Miller threw his second wild pitch of the inning after a visit from pitching coach Derek Lilliquist, setting up Moustakas’ double.
Kansas City added three in the eighth. Cardinals rookie center fielder Randal Grichuk struck out three times and whiffed fielding the ball on the RBI single by Salvador Perez, allowing a second run to score.
INDIANS 3, RED SOX 2
CLEVELAND — Justin Masterson found the strike zone after a rocky start and pitched seven scoreless innings as the Cleveland Indians ended Boston’s seven-game winning streak.
Masterson (3-4) walked four in the first three innings, but settled in and won for the first time in five starts. He allowed just three singles and struck out a season-high 10.
Lonnie Chisenhall hit a two-run single in the first off John Lackey (6-4) as the Indians won their fourth straight.
Xander Bogaerts hit a two-run homer in the Boston eighth off Bryan Shaw. Cody Allen worked the ninth for his fourth save.
Red Sox shortstop Stephen Drew went 0 for 2 with a walk in his season debut.
Boston outfielder Grady Sizemore went 0 for 4 — he popped up for the final out — in his return to Cleveland.
MARINERS 10, YANKEES 2
NEW YORK — Kyle Seager homered, tripled twice and doubled, leading Felix Hernandez and the Seattle Mariners past the New York Yankees.
Hernandez (8-1) tied a career high by winning his fifth straight start.
Robinson Cano again got booed by Yankees fans in this makeup of an April 30 rainout. Out four games with a bruised left hand, the former Yankees star was 1 for 3 with two walks.
Seager became the first major leaguer to hit two triples and at least one homer and one double since Hal Breeden for Montreal in 1973, STATS said.
METS 11, PHILLIES 2
PHILADELPHIA — Wilmer Flores hit a grand slam and drove in a career-high six runs, Bartolo Colon threw seven-plus sharp innings and New York beat Philadelphia in a makeup from an April rainout.
After playing 39 innings in the three previous games, the teams finally didn’t go extras. The Mets took four of five from the Phillies and are 9-1 in Citizens Bank Park, dating to last season.
Colon (5-5) allowed two runs and six hits to win his third straight decision.
The 41-year-old righty has a 1.61 ERA in his last three outings.
The last-place Phillies went 4-7 on an 11-game homestand, their longest of the season. They’re a season-worst seven games under .500 and barely resemble the team that won five consecutive NL East titles from 2007-11.
Roberto Hernandez (2-3) failed to pitch six innings for the sixth time in 10 starts.
MARLINS 3, RAYS 1
MIAMI — Randy Wolf pitched six innings for his first victory since 2012, and Miami handed Tampa Bay its seventh consecutive loss.
The 37-year-old Wolf (1-1), making a comeback from the second Tommy John surgery of his career, allowed three hits and one run. He struck out seven, walked one and won for the first time since he pitched Baltimore past Tampa Bay on Sept. 13, 2012.
The Rays fell to 0-7 on their eight-game trip. They’re 12 games below .500 for the first time since 2007, and their record (23-35) is the worst in the American League.
Four Miami relievers completed the six-hitter, and Steve Cishek pitched a perfect ninth for his 12th save in 13 chances. The Marlins snapped a streak of four consecutive home losses as they started a four-game home-and-home series against their intrastate rivals.
The Rays went 0 for 5 with runners in scoring position. They’ve scored six runs in their past five games.
Alex Cobb (1-3) paid dearly for a rocky start. The Marlins scored three times in the first, when their first four batters reached. Casey McGehee hit a two-run single, and a bases-loaded double play scored another run.
BREWERS 6, TWINS 2
MILWAUKEE — Matt Garza took a shutout into the seventh inning and Mark Reynolds hit a two-run homer, sending Milwaukee past Minnesota.
Garza (3-4) scattered six hits over 6 1-3 scoreless innings against the team that brought him to the big leagues in 2006. The right-hander, signed to a $50 million, four-year deal as a free agent in the offseason, struck out eight and walked two for his first win since May 5.
Jonathan Lucroy homered and hit an RBI single.
Kyle Gibson (4-5) allowed four runs and six hits in six innings. He has won just one of his last eight starts after winning his first three.
Duffy, Royals shut down Cardinals
MLB