"I think the last couple days we've had renewed energy, renewed vision and I'm pleased with where we're at right now, especially after a game like that," Royals manager Ned Yost said.
The Royals used a two-run seventh to chase White Sox starter Jake Peavy (9-8, 3.08 ERA), who didn't allow a hit until Butler's one-out double in the fourth.
Jeff Francoeur led off the seventh with a bunt single and Eric Hosmer also singled to put runners on the corners with one out. Tony Abreu, making his second straight start after having his contract selected from Triple-A Omaha on Monday, singled up the middle to score Francoeur.
After Hosmer was thrown out trying to advance to third, Jarrod Dyson reached on an infield single that was stopped on a run-saving play by White Sox second baseman Gordon Beckham. Gordon singled home Abreu, the go-ahead run, with a knock to center.
"[Peavy] gave his team a chance to win and we just had a couple two-out hits," Butler said. "We just capitalized on some situations when we had runners in scoring position."
That was enough for Chen (8-9, 5.51), who allowed two runs on seven hits and one walk. Chen's performance Tuesday was much better than his previous seven, during which he posted an 8.73 ERA and .350 average against.
"It does feel good," Chen said of earning his first win since June 26. "I know it's been since like late June."
Yost said he called Chen into his office after the left-hander's last outing and told him to work on establishing his hard fastball, which helps his softer stuff keep batters off balance. Chen wasn't flawless -- allowing a leadoff homer to Beckham in the first and an RBI single to Adam Dunn in the sixth -- but was close enough.
"Obviously changing speeds, he's not overpowering, but he changes speeds and kinda keeps you off balance," Dunn said. "Tonight, he was throwing everything for strikes, and he wasn't missing over the plate."
Chen improved to 3-0 with a 1.34 ERA in his last five starts at U.S. Cellular Field.
"I guess because they have such a good lineup, I think I concentrate and focus a little bit better because any mistake you make you can pay for it," Chen said of his success on the South Side.
The win also gave Chen his 68th victory, the second most by a Panamanian in Major League history, breaking a tie with Juan Berenguer and trailing only Mariano Rivera (76).
Despite Peavy's 3 1/3 no-hit innings, the right-hander was far from sharp. Gordon and second baseman Chris Getz drew consecutive walks to begin the game before Peavy recorded three straight outs, including two swinging strikeouts, to escape the jam.
"My mind said in the first inning, especially when he gave up the first two walks, 'We better do our damage now because he'll settle in and when he does, we're not going to get much more,'" Yost said. "When we couldn't capitalize I'm like, 'OK, here we go.'"
The Royals finally got to Peavy in the sixth, when Gordon led off with a single, stole second, advanced to third on a groundout and scored on a sacrifice fly by Mike Moustakas. Gordon's seventh-inning hit also knocked Peavy out of the game after the righty gave up three runs on seven hits and three walks.
Butler's two-run homer came in the eighth off right-hander Nate Jones, who entered after lefty Leyson Septimo walked Moustakas to begin the inning.
"I don't know what it is," Butler said of his career power year. "I guess I'm getting more backspin. I'm definitely stronger. Maybe me coming into my prime, I don't know. I worked hard this offseason, but I'm definitely as strong as I've ever been and the balls are going farther."
Royals righty Greg Holland worked a perfect ninth inning to record his second save in as many opportunities since the Royals dealt Jonathan Broxton to the Reds.