KANSAS CITY, Mo. -- Kyle Davies picked up the tempo in the final three innings of his last outing, finding a rhythm as he got Minnesota's hitters to swing at pitches out of the zone.
It worked then, so he tried it again.
Davies matched a career high with eight strikeouts in eight innings and combined with closer Joakim Soria on a four-hitter, lifting the Kansas City Royals to a 3-0 victory over the struggling Seattle Mariners on Monday night.
"The last three innings in Minnesota, the tempo was a whole lot better," Davies said. "My pitches were down, they were swinging at pitches out of the zone and I was getting soft contact, if not no contact. That's what happened tonight."
Davies (7-7) had scuffled over the past month or so, going 1-5 with a 5.34 ERA in six starts, in part because of high pitch counts.
The right-hander worked quickly and efficiently against the Mariners, getting ahead in the count with fastballs, then dropping in curveballs and change-ups to keep them off-balance.
"Good pitching generally beats good hitting and he just beat us," Mariners manager Jim Riggleman said.
Davies didn't allow a hit until Jose Lopez lined a high fastball into right for a single leading off the fifth, and had Seattle swinging through off-speed pitches, striking out four of five batters in the second and third innings.
Davies worked out of a jam in the sixth, getting Yuniesky Betancourt to ground into a double play with runners on the corners and one out, and ended the seventh with another double play.
Soria worked the ninth for his 38th save in 41 chances, though Davies probably could have finished it off after throwing 95 pitches and not walking a batter for the first time this season.
"That's, by far, the No. 1 outing of the year," Royals manager Trey Hillman said. "He was commanding the ball, his confidence [was up], he was attacking the hitters. Kyle always has the mindset of being aggressive and attacking the hitters, but he was able to keep the ball in the zone a lot more."
Seattle starter Carlos Silva's struggles had gone back much further than Davies'.
The right-hander has won once since April -- June 28 at San Diego -- and had gone 0-5 with an 8.40 ERA his last nine outings.
Silva (4-15) had gotten himself in trouble by getting the ball up too much, never a good thing for a sinkerball specialist. He was relatively sharp against Kansas City after missing his last start due to back spasms, keeping the ball mostly down while allowing eight hits and two runs in 5 1/3 innings.
The Mariners didn't give him much help, getting shut out for the 10th time this season for their fifth straight loss.
"There's no excuses -- we just got beat," Riggleman said.
The Royals probably would have had more if not for more problems on the base paths.
Kansas City lost one run in the first inning when Ryan Shealy was called out on appeal for missing third base on Mark Teahen's single. Another potential run was erased in the sixth inning, when slow-running Alex Gordon was thrown out at the plate by right-fielder Ichiro Suzuki trying to score from first on Alberto Callaspo's double.
Jose Guillen was also thrown out at third base in the sixth after an error at first base.
Unlike some of its previous baserunning blunders this season, Kansas City was able to work past the mistakes with their fifth consecutive game with double-digit hits (12).
Teahen got the RBI he missed out on earlier with a run-scoring single up the middle -- Guillen made sure he touched the base rounding third -- and Mike Aviles made it 4-0 with a chopper off Sean Green that bounced off the plate in the seventh.
For a team that's been out of the pennant race for months, this short run of four straight wins has been enjoyable.
"They're having fun in the dugout and having fun doing it at the plate," Hillman said. "I would say that they're more relaxed."
Seattle's Raul Ibanez was 0-for-3, ending his streak of reaching base safely at 32 games. ... Kansas City CF David DeJesus had his errorless streak end at 127 games when he overthrew a ball into the infield in the sixth inning.