SEATTLE -- It took a couple of months for Zack Greinke to find the form that won him the Cy Young Award last season. Now he's finally on a roll.
As far as the Seattle Mariners are concerned, he's been rolling over them his entire career.
Greinke allowed two hits over seven innings and continued his mastery of the Mariners in the Kansas City Royals' 3-2 victory Tuesday night.
Greinke (5-8) is 4-0 with a 1.64 ERA in 10 career appearances against the Mariners. In his last five starts against Seattle, he has allowed just one run in 39 innings. Last Aug. 30, he tossed a career-best one-hitter at Safeco Field.
Wilson Betemit drove in all the runs for the Royals on a fifth-inning home run, a two-out, bases-loaded infield single in the sixth and a two-out RBI single in the eighth.
Joakim Soria worked the ninth to pick up his major league-leading 24th save in 26 opportunities.
"When you see him [Greinke] have that kind of outing, when you see the starter do something like that, he inspires you and you try to get the win and the save," Soria said.
Greinke started off the season with a 1-8 record but has won four straight decisions.
He held the Mariners without a run for the first two innings to set the franchise record for consecutive scoreless innings against one team. He kept the Mariners off the scoreboard for 31 consecutive innings, two more than Paul Splittorff against the Chicago White Sox from September 1972 to July 1973.
"He had tremendous stuff, command of all his pitches," Mariners manager Don Wakamatsu said. "He kept the ball down in the zone. We just couldn't get anything consistent."
The critical play in the game was not made by a player, but a fan, in the eighth inning.
Jack Wilson had just scored on a sacrifice fly by Chone Figgins to make it 3-2 with two outs and Ichiro Suzuki on first.
Russell Branyan then hit a ball just past first base and into the corner. But a young fan leaned over and touched it. With Suzuki's speed, would he have scored from first?
"No. I think they had to hold him," Royals manager Ned Yost said. "David [DeJesus] was right on that ball, it looked to me."
Royals third baseman Betemit went the other way.
"Oh yeah," he said. "For sure, he's going to score on that one."
As for Suzuki, he was unsure.
"It's hard for me because I'm the only one on the field who cannot see where the ball is," Suzuki said. "I just ran hard and go with the third-base coach."
The umpires ended the play after the interference with Suzuki rounding third.
The Mariners broke Greinke's scoreless streak when Michael Saunders opened the third inning with an infield single and moved to second when second baseman Aviles through wildly to first. Josh Bard's right-side groundout advanced Saunders to third.
Jack Wilson then squared on Greinke's first pitch and pushed a bunt toward first. It was a safety-squeeze, as Saunders held up momentarily. Greinke covered the bunt but didn't even look at the plate. He threw to first as Saunders scored.
It appeared that Greinke hurt his shoulder as he came off the mound. He threw several pitches under the trainer's eye but remained in the game.
"I really don't know how to explain it," Greinke said. "It was a little weird. It should be fine by tomorrow."
Betemit tied it in the fifth with a leadoff home run. It was Betemet's fourth and the 17th allowed by Ryan Rowland-Smith (1-8), second most in the American League.
The Royals had a potentially big rally in the eighth but a leg injury to Jose Guillen cut it short.
DeJesus and Billy Butler opened the eighth with singles. Guillen then hit a slow grounder to third baseman Lopez, who threw to second for the force. But Guillen pulled up lame running down the line, allowing the Mariners to easily double him at first. He had to leave the game.
Betemit followed with his RBI single to left, scoring DeJesus. Betemit then would be thrown out at the plate trying to score on Aviles double into the left-field corner.
"Greinke had a great day today, too," Betemit said. "He threw the pitches where he wanted. I just go out and do my best."
The Mariners medical staff determined that LHP Erik Bedard has a slight inflammation in his surgically repaired left shoulder. "This is something that might be a mild setback. We're hoping everything works out this weekend [bullpen session]," Wakamatsu said. "If Bedard has no pain he'll be given his first start since July 25 shortly after the break. ... LHP Cliff Lee was named AL Pitcher of the Month for June. He was 4-1 with a 1.76 ERA and four complete games for the Mariners. ... The Royals adjusted their rotation this weekend, inserting RHP Brian Bannister to pitch Saturday against the White Sox instead of RHP Anthony Lerew.