Greinke also went the distance, allowing six hits and no walks while striking out 10, and the Rangers have now lost seven of their last eight games. Millwood has lost two of those games, including a start last Sunday in Detroit in which he led 4-0 after seven innings only to have the bullpen let it get away.
"My [last] start was a little frustrating, but tonight, there's nothing you can do," Millwood said. "The guy pitched a great game. Guy pitches like that, there's not much you can do."
The Royals scored once in the sixth on a two-out double by Billy Butler, and Miguel Olivo hit a two-out home run in the seventh for an insurance run.
Millwood said the runs had nothing to do with any pain stemming from his fifth-inning defensive gem. With a runner on first and one out, Millwood used his bare hand to grab Willie Bloomquist's one-hop smash back to the mound and then made a weak one-hop throw to second for the force.
The trainers came out, and he made one trial pitch and decided to continue. Bloomquist immediately tried to steal and catcher Jarrod Saltalamacchia threw him out to end the inning.
"It went numb for a while, but the feeling came back and it wasn't a factor," Millwood said.
The duel between Greinke and Millwood, who entered the game 1-2 in the American League in ERA, marked only the third time in the history of Rangers Ballpark that both starting pitchers threw a complete game. The last time it happened was May 27, 1996, when Roger Pavlik outdueled Jack McDowell of the White Sox. The Rangers also won on Aug. 13, 1995, when Kevin Gross beat Toronto's Giovanni Carrara.
But on Saturday night, Greinke was just too good for the Rangers, as he pitched the first shutout in the AL this season. He also held the Rangers scoreless after they had hit a home run in 10 straight games, at least two in seven home games and had scored at least one run by the end of the second inning during the previous 10 games.
"I feel bad for Millwood," third baseman Michael Young said. "He did everything he could. He competed, he made pitches when he had to and he battled the whole game. Greinke did a great job. That's definitely one where you want to reward the starting pitcher for his great effort."
Greinke has yet to be scored upon in 20 innings over three starts this season and has a 34-inning scoreless streak going back to last season. The Rangers had two great chances to break that streak in the second and third innings and came up short both times. That's what they bothered them the most afterward.
Hank Blalock led off the second inning with a triple to right-center, but he went no further. Marlon Byrd hit a grounder right at third baseman Mark Teahen to freeze Blalock and Greinke then struck out both Nelson Cruz and Chris Davis.
"Greinke was that good but, gosh, we got some pitches to hit," Byrd said. "Guy on third base, no outs, infield back, all I have to do is hit a ground ball up the middle somewhere and a run scores. Then you never know what might happen."
Saltalamacchia led off the third with a double to right-center and Elvis Andrus bunted him to third. This time, Greinke struck out Ian Kinsler and retired Young on a grounder to second to end the threat.
"You can say the guy pitched out of it or we didn't execute, but either way, we've got to do a better job there," Byrd said. "Our ace on the mound and doing what we need him to do, we've got to get him a run. The Texas Rangers can hit. Greinke had our number, but we've got to step it up."
Greinke limited the Rangers to five singles the rest of the way and they didn't get a runner to second base again until there were two outs in the ninth. That was when Cruz singled, then took second on defensive indifference. But Greinke struck out Davis for his 10th strikeout to end the game.