KANSAS CITY -- Royals manager Trey Hillman teaches patience at the plate. He wants those walks, those baserunners, those chances to score.

Then along comes a spoiler like Ervin Santana, the still undefeated right-hander of the Angels. He completely foiled the Royals in pitching a four-hit, 4-0 victory on Monday night.

"It's difficult to be patient when somebody's filling up the strike zone," Hillman said. "We didn't swing out of the zone very much tonight."

Santana didn't walk a soul, threw 97 pitches and filled the zone with 69 of them. At the end of his complete-game shutout, he stood 6-0 with a 2.02 ERA.

This might have seemed a pitching mismatch because the unblemished Santana was going against Brett Tomko, who had been scuffling so badly that his rotation job seemed in peril.

Yet, as Angels manager Mike Scioscia put it: "Tomko was terrific. It's a good thing Ervin was on his game, the way Tomko was throwing."

Indeed, Tomko matched zeros with Santana through the seventh inning. Heck, the Royals right-hander even allowed fewer hits -- two against three -- and they were even in strikeouts at seven to that point.

"He's been great all year, but going into the game, I wasn't so concerned with him," Tomko said. "On a personal level, I had a rough three starts and I was trying to get back on track. And I felt like I did that."

After his only victory in his first start, Tomko had lost three times in four outings. His ERA was a bloated 6.26. Then, on this balmy evening, something clicked.

"A big-time light bulb went off and, OK, I remembered how I was throwing at the end of last season and what I wasn't doing the first month of this season," Tomko said.

After the seventh, though, Hillman opted to make a change. Tomko was wobbling a bit after 96 pitches.

"His legs were starting to go," Hillman said. "We saw it and talked to both him and [catcher John] Buck after the inning, and they gave us an honest read."

The Kansas City bullpen, so strong this season, got a scoreless inning from Ramon Ramirez. For the ninth inning of a scoreless battle, Hillman decided against using closer Joakim Soria for the third game in a row and stayed with Ramirez.

"I could have made a better decision. I didn't put Soria in. Typical rule of thumb simply because it would have been three days in a row," Hillman said. "Ramirez has been pretty effective. Unfortunately, he left a ball out over the plate."

Erick Aybar drilled a triple to right-center field to open the ninth. Vladimir Guerrero tapped out, freezing Aybar at third. With left-handed-hitting Casey Kotchman due up, Hillman waved for lefty Jimmy Gobble.

Gobble made one pitch.

"I'd take that pitch 0-0 any day. You're not trying to throw a two-strike slider right there," Gobble said. "I'm trying to get ahead with a purpose, and it was borderline away."

Kotchman lined a single into center field to break the scoreless tie.

It was the first run the Royals' pitching staff had allowed after 21 straight scoreless innings.

Right-hander Joel Peralta was brought into the fray and got the second out, but then Garret Anderson and Brandon Wood launched back-to-back homers for three more runs.

Santana forged on. He gave up a fourth hit -- the second by Mark Grudzielanek -- in the ninth, but he closed out the Royals with his ninth strikeout and his third of cleanup batter Jose Guillen.

Tomko was tough, Santana was a bit tougher and things got tough for the Royals' bullpen.

"What can you do?" Gobble said. "Scratch your head a little bit and go get 'em tomorrow."