CHICAGO -- It took Luis Mendoza a long time to return to the majors and he's making a good case for staying there.
"That was their 'A' lineup in there," Royals manager Ned Yost said. "He really did a great job.
"He does a real good job of keeping hitters uncomfortable because they don't know what to look for. He's come a long way."
Chicago lost for the 11th time in 15 games and with its 82nd defeat ensured the third losing record in manager Ozzie Guillen's eight-year tenure.
"I didn't expect anything less. It was a losing team when I got the 'X' next to me," Guillen said. "I'm not here for stats, I'm here to win divisions."
The young Royals continued their late-season surge, winning for the 10th time in 13 games.
Mendoza (2-0) limited Chicago to one run and five hits over 7 2/3 innings after holding AL Central champion Detroit to two runs in seven innings last Tuesday, his first big league start in nearly a year and a half. The Pacific Coast League pitcher of the year struck out four and walked two.
"I just put it in my mind to pitch strong to finish the year and try to be aggressive," Mendoza said. "Just work inside, to lefties and righties, just pound the zone inside and mix my pitches."
Yost said Mendoza has put himself "in the mix" for next year's rotation, but the right-hander isn't thinking that far ahead.
"Right now I don't think about next year," Mendoza said. "I just know that this year, I (had) a good year and that's all that matters to me."
Greg Holland earned his fourth save, getting all four of his outs via strikeout.
"A great pitching performance on both sides all the way around," Yost said. "You don't see many pitchers' duels in the American League anymore."
Chicago starter Gavin Floyd carried a no-hitter into the sixth inning before Lorenzo Cain and Chris Getz opened with back-to-back singles. After advancing on Alcides Escobar's sacrifice, Cain and Getz scored on Dyson's double down the right-field line.
Floyd (12-13) matched his season high with 10 strikeouts and held Kansas City to two runs and three hits over eight innings. Still, he finished with a losing record for the second consecutive season.
"That was as good of a breaking ball as we've seen in a long, long time," Yost said. "We only got three hits on the day, but we pieced them together perfectly."
Adam Dunn went 0 for 3 with a walk, dropping his average to .161. Dunn needs 13 plate appearances in Chicago's final three games to finish with the worst qualifying batting average in big league history, surpassing Rob Deer's .179 mark in 1991.
The 27-year-old Mendoza was 12-5 with a 2.18 ERA for Triple-A Omaha and was selected the PCL's playoff MVP for his role in leading the Storm Chasers to the league title. But he hadn't won a game in the majors since Aug. 3, 2008, until he beat the Tigers last Tuesday.
Holland replaced Mendoza and gave up a bloop double to Paul Konerko, trimming Kansas City's lead to one. After A.J. Pierzynski was intentionally walked, Dayan Viciedo struck out with the bases loaded to end the inning.
Holland struck out the side in the ninth to preserve Mendoza's win, which came as no surprise to Cain, who played behind him in Omaha.
"I'm used to seeing that down in the minor leagues," Cain said. "He goes seven, eight innings strong each and every day. He's been doing it all year."
Melky Cabrera went 0 for 4 and still needs one hit to become the seventh player in Royals history to reach 200 in a season. ... White Sox CF Alex Rios was shaken up in the fourth when he made a running catch and banged into one of the supports that hold up the screen on the fence in right-center at U.S. Cellular Field. He was removed from the game for precautionary reasons and replaced by Viciedo. ... The Royals start a season-ending series at Minnesota on Monday with Felipe Paulino starting the opener against Kevin Slowey. Paulino lost at Target Field on July 17 in his only career appearance against Minnesota. ... The White Sox wrap up their campaign with a three-game set at home against Toronto. Dylan Axelrod will seek his first big league win in his third start for Chicago against scheduled Blue Jays starter Dustin McGowan.