KANSAS CITY, Mo. -- Zack Greinke got even stronger after his scoreless streak ended at 38 innings.
Greinke allowed an unearned run in the fifth when Gerald Laird led off with a double and scored on shortstop Mike Aviles' throwing error. Greinke ended last season with 14 consecutive scoreless innings and opened this year with 24 in a row.
"After that happened, I got a big boost of energy," Greinke said. "It happens. That's baseball, aggressive baserunning and aggressive fielding. I got out of some jams I shouldn't have [in previous starts] and then they score on a play that maybe they shouldn't have.
"The first five innings it was mainly just fastballs. I started throwing off speed just to keep them off the fastball. The last four innings everything was working real good."
Greinke retired the final 15 batters he faced, striking out seven.
"I was pleased with our pitching, but we just got dominated by probably the hottest pitcher in the American League," Tigers manager Jim Leyland said. "When Greinke pitches, the Royals are as good as any team in baseball. There are not a lot of teams that would have beat Greinke tonight."
Alberto Callaspo led off the second with his first big league home run, ending the longest homerless drought in the majors among active players. He had gone 441 at-bats without hitting a home run.
"Alberto's was not a cheap home run," manager Trey Hillman said. "It was a magnificent job again by Zack. You don't like to see any streak end. It was exceptional the way our fans acknowledged it [with a standing ovation]."
Mark Teahen hit a two-run homer for Kansas City. Greinke (4-0) allowed three hits and walked one.
"Zack looked unhittable," Teahen said. "It's fun to watch Zack on the mound."
Rick Porcello, making his third big league start, allowed five runs, four earned, and four hits in six innings for the Tigers. Porcello, 20, is the same age Greinke was when he made his big league debut in 2004, and would not mind being where Greinke is in five years.
"I think anybody would," Porcello said. "He's pretty good to say the least. I know he's a heckuva pitcher and he's tough on a lot of teams. I didn't get to see everything he was doing. I was focused in my own little world trying to stay focused. He's tough."
- Royals closer Joakim Soria will miss the weekend series with a sore right shoulder.
- Royals RF Jose Guillen, who has been out with a hip injury, is expected to be activated Saturday.
- The Tigers activated reliever Joel Zumaya after the game and optioned rookie RHP Eddie Bonine to Triple-A Toledo. Zumaya had been on the disabled list with a sore right shoulder.
- The last Royals pitcher to throw back-to-back complete games was RHP Jamey Wright on Sept. 6 and 13, 2003. Wright is back with the Royals this year as a reliever.