KANSAS CITY, Mo. (AP) -- Zack Greinke may have ended the debate over whether he should be a starter or reliever.
Greinke (7-6) made his sixth start since rejoining the rotation on Aug. 24 and allowed just one runner past first base.
He began the season as a starter, but after getting hit hard May 6 in a loss at Detroit, he was shifted to the bullpen with a 1-4 record. Greinke worked in relief for nearly the next four months.
"I feel like I'm a starter, but other people make that decision," Greinke said. "The main thing was to get my pitch count down and go deep into the game."
He became the first Kansas City pitcher to reach double digits in strikeouts since Odalis Perez fanned 10 at Boston on Sept. 8 last year.
"That is something I wouldn't have been able to do in the past," Greinke said. "Since I've moved to the bullpen, I've been striking out guys better. Ten is a real lot. I never would have imagined that when the season started, me striking out 10 in a game cause I just couldn't miss that many bats."
Catcher John Buck believes Greinke should remain in the rotation.
"He made a pretty good case for himself," Buck said. "I'm convinced. I had the best seat in the house. There were a lot of dominating pitches on a team that scored 11 runs in one inning [Monday]. He was pretty dominant the whole day."
Joakim Soria followed with a perfect ninth for his 17th save in 21 chances as Kansas City (66-86) moved back ahead of Chicago (66-87) and out of last place in the AL Central.
"Greinke has an electric fastball," White Sox catcher Toby Hall said. "It just jumped out of his hand, good slider, good curve."
Jon Garland (9-13) gave up three runs and six hits in eight innings. He had been 8-1 with a 2.43 ERA in his previous 11 starts against the Royals.
"You won't see a better pitching duel," White Sox manager Ozzie Guillen said. "We didn't come close to scoring against Greinke, maybe one time. He pitched well. Garland threw the ball good."
Garland has a 1.80 ERA in his last four starts overall but is 1-3, with the White Sox totaling three runs in the three losses.
"If I give my team a quality start, I feel I'm doing my job," Garland said. "I was throwing everything for a strike. I'm not very overpowering, but when I can throw all my pitches and keep those guys off balance, they couldn't sit on one pitch."
Before a crowd of 10,264, the Royals' third-lowest at home this season, the game was played in 1 hour, 55 minutes -- the fastest nine-inning game for Kansas City since May 10, 2005, at Toronto (1:44).
Kansas City broke a 21-inning scoreless streak with a two-run sixth.
"It's been a while," Buck said of snapping an 0-for-12 rut with two hits. "It's nice to see one of those hit the outfield grass."
"In the bullpen, I've been pitching in tough situations like that," Greinke said. "I kind of figured on how to get out of jams like that, where in the past I might try to do too much. Thome can really hurt you, but he strikes out a lot, too."
Uribe singled leading off the seventh for the other White Sox hit.
Greinke's previous high in strikeouts was eight, set on June 21, 2005, when he lost to Garland and the White Sox. ... Chicago was blanked for the 11th time, second-most in the AL behind Minnesota (13). ... 3B Alex Cintron was a late scratch from the White Sox lineup because of a bruised left hand. He was replaced by Andy Gonzalez, who made his 19th start at third base. ... 3B Alex Gordon was hit by a pitch in the seventh, raising the Royals' total to 85, which leads the majors. ... White Sox 2B Danny Richar went 0-for-3, ending his career-high eight-game hitting streak.