SEATTLE -- As if facing American League Cy Young contender Zack Greinke isn't daunting enough, the Mariners had to do it on Sunday without the services of four starters.

Their patchwork lineup was just fine against Gil Meche on Saturday in an 8-4 beating.

But against Greinke? The team could have used Ichiro Suzuki, or Adrian Beltre, or Russell Branyan, or Ken Griffey Jr., all regulars who were sidelined with injuries.

The way the Royals ace righty threw on Sunday, the Mariners needed all the help they could -- and didn't -- get. Greinke was nearly flawless, allowing only a soft single to center by Kenji Johjima in the second inning in a complete game, one-hit shutout that gave the Royals a 3-0 win before 30,286 at Safeco Field.

No Ichiro. No Beltre. No Branyan.

No chance -- even though they were buoyed by one of the best starts of Ryan Rowland-Smith's career.

"Just a clinic," Mariners manager Don Wakamatsu said of Greinke's performance. "He was almost unhittable ... I'd have to say that performance was as good as I've seen this year, no doubt."

All hope was fleeting after the second inning, when a walk to Bill Hall and Johjima's single provided the only two Seattle baserunners of the afternoon. Greinke retired the final 22 batters he faced, even notching his 200th strikeout of the season by fanning Hall to end the seventh.

Johjima hit a soft liner into center field that landed just in front of Royals center fielder Mitch Maier, who took some friendly ribbing from teammates for not laying out to try to preserve the early no-hitter.

"If that hit had come in the eighth or ninth inning," Johjima said, "people would have given me more credit."

Maier got some credit from his pitcher, despite letting it fall for a hit.

"They were all messing with him," Greinke said. "But it was a smart play. Mitch is a smart player and a great outfielder. If he would have come in hard, more likely than him catching it, it gets by him and they score a run there and the whole game is a different story."

The story, instead, was all about Greinke. He struck out only five after fanning 15 in his previous outing, but kept the Mariners from making any real solid contact. He credited his defense with doing their job well behind him.

How tough was he to read today? On the final at-bat of the game, facing Josh Wilson, Greinke threw a curveball clocked at 66 mph, then came back with a 96-mph fastball.

Yikes.

"He was changing his speeds, throwing his fastball from 91 to 96 and throwing his curveball from 66 to 80," Mariners designated hitter Mike Sweeney said. "And then his slider was 83 to 89. He definitely changed speeds and was doing it at a consistent level."

The guy pitching for the Mariners wasn't bad, either. Rowland-Smith went eight innings and gave up just five hits and a walk, but a three-run fifth inning was all the Royals needed to make a winner out of their ace -- something they haven't been real great at this season since they now have a 13-14 record in games Greinke pitches.

That fifth inning got started when a ball hit to left field by Alberto Callaspo got over the head of Mariners left fielder Michael Saunders, who misread the ball off the bat but said the glaring sun didn't have any effect on him.

"I just misjudged it," Saunders said. "I came in and it kept going on me. I didn't lose it. When the ball got up in the air and was a pop fly you could lose it in the sun, but the ball I missed I just misjudged it. I wouldn't say it was a tough play. I just ran in on it and it kind of kept going on me."

Miguel Olivo followed with an RBI single two batters later and, after a walk to Mark Teahen, another RBI single from David DeJesus and a wild pitch plated two more runs and the Royals had all they needed.

Rowland-Smith retired the final 10 batters he faced and struck out seven.

"It's tough to come back against a guy that was pitching the way [Greinke] was today," Rowland-Smith said. "I was making my pitches and felt great out there. I felt I could throw all day."

He threw well all day, really. The Royals didn't move anyone past first base in any other inning, and went down in order in the second, third, fourth, and sixth through ninth innings.

It was as well-pitched of a game as anyone has seen at Safeco in quite a while, and if not for a misplayed fly ball and a one-hop single, they might still be playing.

"Other than the first ball of the fifth inning, you don't know how that game's going to come out," Wakamatsu said. "And you're hoping for almost a 0-0 ballgame to get Greinke out of the ballgame."

The way he pitched on this day, considering the depleted stock of available position players on the Mariners bench, even that might not have been enough to beat him.