KANSAS CITY, Mo. - Jarrod Dyson and Alcides Escobar put the pedal to the metal and the Kansas City Royals sped to a victory to open a seven-game homestand.
Dyson led off a two-run fifth with an infield single and Escobar swiped a base as the Royals topped the Seattle Mariners 3-1 on Monday.
Mariners starter Felix Hernandez left with two outs in the seventh with cramps in his lower back. He was replaced by Oliver Perez.
"I just talked with (trainer) Rick Griffin and he doesn't think it's anything special," Mariners manager Eric Wedge said. "He'll be OK. It was his last couple of pitches before he left."
Hernandez said he felt "it cramping" on the second pitch to Gordon. "It's just a cramp," he said. "It'll be OK."
After Dyson's hit, he moved to third on an Escobar run-and-hit single. Dyson scored on a Hernandez wild pitch, while Escobar, who extended his hitting streak to seven games, scored on an Emilo Bonifacio sacrifice fly. Escobar also swiped two bases and is a perfect 18-for-18 in stolen base attempts.
"It is extremely important to have that athleticism and that speed at the bottom of the order to steal bases, to put ourselves in scoring opportunities," Royals manager Ned Yost said.
Dyson, who leads the team with 29 stolen bases, was off and running on Escobar's ground ball single to right in an area just vacated by Mariners second baseman Nick Franklin.
"It worked out perfect," Dyson said. "I told Esky if I get on and take off and that hole opens, shoot for it. I'll take first and third over a stolen base all day."
Will Smith (2-1) replaced a struggling Danny Duffy in the fourth inning and struck out eight of the 14 batters he faced. He allowed one hit in 4 1/3 scoreless innings.
"He did a wonderful job," Yost said. "They really had a problem picking his pitches up."
Greg Holland worked the ninth to log his 37th save.
Hernandez, who is 1-5 with a 6.42 ERA in his past six starts, struck out Mike Moustakas in the sixth for his 200th strikeout this season. It is fifth consecutive 200-strikeout season.
The Mariners missed an opportunity to score in the first when with one out Franklin walked and Kyle Seager singled to center. Duffy struck out Kendrys Morales and Justin Smoak to strand the runners.
The Mariners threatened in the second. Michael Saunders opened with a bunt single and Mike Zunino walked, but Seattle again came away empty.
Seattle got its first two runners on in the third on another Franklin walk and Seager single, but once more failed to score.
"We did a poor job of hitting with runners in scoring position and moving runners," Wedge said. "We have to do a better job there. We were trying to get on the board and do something. That's something we've been struggling with. There are a lot of guys here that need to learn how to win a ballgame."
The Mariners broke through in the fourth. Abraham Almonte doubled with two outs and scored on Brad Miller's triple to right. After Duffy walked Franklin for the third time, Smith replaced him.
Duffy, who had pitched 12 2/3 scoreless innings in winning his previous two starts, was charged with one run on five hits and four walks in 3 2/3 innings, but got a no-decision.
"Duffy struggled to get the ball down," Yost said. "He had great stuff, but really struggled to command it. He got his pitch count up and not a lot of quality strikes, but his stuff was so good it got him through it."
Seager and Miller combined for five of the seven Seattle hits.
Notes: The Mariners will recall RHP Erasmo Ramirez and start him Tuesday against the Royals. He has been the beneficiary of a 6.32 run support in his nine big league starts this season. ... The Mariners recalled Zunino from Triple-A Tacoma and activated him from the disabled list. He missed 34 games with a broken left hamate. ... The Mariners and Royals, who play seven times in September, met for the first time this season. This is the latest the Mariners have met an AL team for the first time. ... Duffy is 2-8 with a 5.26 ERA at home in his career.