CHICAGO -- Danny Duffy's brief major league career has been marked by inconsistency, but the 25-year-old left-hander was consistently untouchable in pitching the Kansas City Royals to a 9-1 victory over the Chicago White Sox on Saturday.

The Royals (35-32) have won six straight games, while the White Sox (33-36) have dropped three straight and six of eight.

Duffy (4-5) allowed only five hits in seven-plus innings while tying his career high with nine strikeouts.

Mike Moustakas went 3-for-4 with a home run and two RBIs, and Billy Butler went 2-for-4 with a home run and two RBIs to lead the Kansas City offense, which produced a five-run inning for the second straight day.

Paul Konerko went 3-for-4 with a home run for the White Sox.

Chicago only had two legitimate scoring opportunities against Duffy.

In the second, Konerko singled with one out and then third baseman Mike Moustakas bobbled a grounder by Moises Sierra for an error to put runners on first and second.

However, Duffy struck out Tyler Flowers and Leury Garcia to end the threat.

In the fourth, Konerko singled with two out and Sierra followed with a double to put runners on second and third. Flowers then grounded out to end the inning.

The White Sox appeared to score in the eighth inning after Duffy was pulled, but Adam Eaton was called out at the plate on a review overturn after he was initially called safe.

Butler started the five-run fourth inning with a lead-off walk and Alex Gordon and Salvador Perez followed with singles to load the bases with none out.

Lorenzo Cain followed with a sharp grounder to third that Leury Garcia booted for an error. Had Garcia fielded the ball cleanly, Chicago might have turned a double play or he might have opted to get a force out at home.

But with the ball trickling into the outfield, Butler and Gordon were able to score to make it 2-0. Cain was credited with one RBI.

Moustakas singled to drive in Perez for a 3-0 lead. Alcides Escobar singled to load the bases, still with none out, but Nori Aoki grounded into a double play as Cain scored to make it 4-0.

Omar Infante followed with an RBI single, scoring Moustakas for a 5-0 edge and chasing starter Hector Noesi (2-5).

Noesi struggled in the fourth after allowing three hits in the first three innings, but he got no support from his defense.

After the Garcia's error, Moustakas' hit was a popup to short left field that Viciedo couldn't get to. Shortstop Alexei Ramirez probably could have caught the ball, but he never left the infield dirt and merely pointed up and watched the ball.

In the eighth inning, Moustakas hit a solo home run to right field to make it 6-0.

The Royals capped the scoring with three runs in the ninth inning on a RBI double by Hosmer and a two-run home run by Butler.

Konerko led off the ninth with a home run for Chicago's run.

NOTES: Royals SS Alcides Escobar, who left Friday night's game because of a cramp in his left calf, reported no problems Saturday and was in the lineup. "He woke up today feeling fine, no pain, no stiffness, no tightness, no anything," manager Ned Yost said. Escobar singled in the fourth inning to extend his hitting streak to a career-high 12 games. He later doubled and went 2-for-4. ... Chicago has lost nine of 10 home games against the Royals, being outscored, 47-17, during that stretch. ... With LHP Danny Duffy starting for Kansas City, the White Sox had only one left-handed hitter in the starting lineup, lead-off hitter Adam Eaton. Conor Gillaspie, Adam Dunn and Alejandro De Aza began the game on the bench. Eaton singled in the eighth for only the third hit Duffy has allowed to a lefty this season. ... This is a father/son trip for the Royals. Every player was allowed to bring their dad and staff members were allowed to bring one adult son.