KANSAS CITY -- Former Royal Jarrod Dyson looped the go-ahead RBI single to center in the seventh inning and red hot left-hander James Paxton won his seventh straight start as the Mariners rallied for a 5-2 win over the Royals on Friday night at Kauffman Stadium.
The Royals dropped 3 1/2 games behind the American League Central-leading Indians, while the Mariners pulled within 1 1/2 games of Kansas City for the second Wild Card spot.
Dyson, hitting just .128 this season off left-handers, singled off southpaw Ryan Buchter, scoring Guillermo Heredia, who doubled in the tying run and only started because Nelson Cruz (upper back spasm) was a late scratch.
"It feels good to contribute to this team and do it in front of my old home crowd," said Dyson, who went 2-for-4 with a run scored, an RBI and a stolen base. "I feel good up here and I am just trying to keep it rolling for this team. To do it here is really special."
Paxton's streak of 21 consecutive scoreless innings, which was the longest active streak in the Major Leagues, ended when the Royals pushed across a run in the fifth. Paxton went six innings, giving up four hits and two runs while walking one and striking out seven to record his 12th win.
"Paxton continues to be really dominant," Mariners manager Scott Servais said. "He has absolutely carried us, there's no doubt."
Royals catcher Salvador Perez left after the sixth inning and underwent an MRI after the game. Manager Ned Yost said the injury was to Perez's right side/rib area, which Perez had hurt earlier this season. Yost said the Royals would know more about the injury on Saturday.
Royals right-hander Jason Hammel was strong for six innings, but he weakened in the seventh -- logging 6 1/3 innings and giving up six hits and three runs while walking one and striking out three.
"I was able to make pitches when we needed them up until the seventh," Hammel said. "Obviously pretty upset to give it back in the seventh after the guys fought hard to give me one. That's frustrating."
MOMENTS THAT MATTERED
Whit's mad dash: The Royals took a 2-1 lead in the sixth on some daring baserunning by Whit Merrifield, who opened the frame with a double off Paxton. Merrifield went to third on Lorenzo Cain's single. But Paxton, with the infield in, got a groundout and a strikeout. Then with Perez up, Paxton unloaded a wild pitch that didn't bounce far from the plate. Merrifield charged home anyway and scored when Paxton couldn't hold the throw from catcher Mike Zunino.
"With two strikes there and two outs, you got to be aggressive," Merrifield said. "You can't be scared."
Added Yost, "The way Paxton was commanding his pitches, his fastball was 94-97 [mph], good slider. He was tough. To take the lead at that point, we felt pretty good."
Killing them softly: The Mariners' three-run rally was aided by three steals and two soft singles off Buchter. After Heredia ripped an RBI double off Hammel to tie it at 2, Dyson sent a broken-bat single to center -- 71-mph exit velocity, according to Statcast™ -- to score Heredia. Dyson swiped second base as Zunino struck out. Leonys Martin then sent a flare (67 mph) that fell in front of Jorge Bonifacio to make it 4-2.
"I feel like I did my job," Buchter said. "Just some bad luck … two broken bats."
"You've got to put pressure on them every now and then," said Dyson, who had one of three steals that inning along with Kyle Seager and Heredia. "We've got to use our legs, and those were huge bags for us. We can run with the best of 'em."
"He's got a little hop in his step this weekend. We knew it would be that way and it should be that way. He's got a lot of good friends in that other dugout and he wants to play well and beat them. It was a good night for him." -- Servais, on Dyson's enjoyment of playing at Kauffman Stadium
SOUND SMART WITH YOUR FRIENDS
Mariners relievers David Phelps, Nick Vincent and Edwin Diaz finished things off with three perfect innings and Diaz notched his 22nd save, including a Major League-leading nine since the All-Star break. The 23-year-old hasn't allowed a run on the road in his past 15 2/3 innings over 15 outings since May 24, holding opponents to an .058 average (3-for-52).
CANO LOGS 500TH DOUBLE
Mariners second baseman Robinson Cano became just the fifth active player with 500 doubles when he ripped a first-inning line drive into the right-field corner off Hammel. The 34-year-old Cano moved into a tie for 61st on the all-time doubles list with former Mariner John Olerud and Hall of Famer Goose Goslin, who played from 1921-38. The only other current players in the 500-double club are Jose Pujols (613), Adrian Beltre (605), Carlos Beltran (557) and Jose Cabrera (540).
Mariners: Ace Felix Hernandez (5-4, 4.28 ERA) gets the ball on Saturday at 4:15 p.m. PT against the Royals at Kauffman Stadium. The veteran right-hander is 3-2 with a 4.02 ERA in eight starts since coming off a two-month stint on the DL with bursitis in his shoulder.
Royals: Left-hander Danny Duffy (7-6, 3.42) will take the mound against the Mariners on Saturday at 6:15 p.m. CT. Duffy gave up one run and seven hits over seven innings in Monday's 2-1 loss to the Orioles at Camden Yards.
Watch every out-of-market regular-season game live on MLB.TV.