Hochevar (5-2), the only Royals starter with a winning record, held the Rangers to two runs on six hits, striking out four and walking none. In winning his past two starts, Hochevar has allowed five runs on 10 hits in 17 innings.
"You can't pitch any better than he's pitched the last two games," Royals manager Ned Yost said. "All the ingredients are there for him to be an ultra-successful American League pitcher. He's throwing the ball as good as you can possibly throw it. Today it was against a real good hitting club. They've got speed; they've got dangerous power in the middle of that lineup. He was right on top of his game. He was fantastic."
Hochevar, who entered this season with a 13-26 record and 5.88 ERA, said he is gaining confidence.
"Success always comes before confidence," Hochevar said. "I feel comfortable on the mound. I feel my game plan has worked quite a few times this year. I trust in it. There's a lot of thump in that lineup. You've got to be more aggressive, getting ahead in the counts, 'cause if you fall into fastball counts with that team -- a good fastball hitting team -- that's when they do their damage."
Butler went 2-for-4 to raise his average to .348, second in the American League. He led off the sixth with his fifth home run to snap a 2-2 tie.
"It's quite impressive to watch a young man have that good of an idea and that good of an eye and put together consistent good at-bats time after time after time," Yost said.
Joakim Soria worked a flawless ninth for his 11th save in 13 chances and the 100th of his career.
"It means a lot because it's a good number to reach, but I want more," Soria said.
Willie Bloomquist drove in two runs for Kansas City with a sacrifice fly in the sixth and a run-scoring double in the eighth.
Rangers right-hander Scott Feldman (2-5) allowed four runs on seven hits with one walk and two hit batters in 6 2/3 innings. Feldman, a 17-game winner in 2009, is 1-5 with a 6.91 ERA, and opponents are hitting .326 in his past eight starts.
"I'm frustrated," Feldman said. "I've got to get better."
The Royals tied it in the bottom half when Scott Podsednik's two-out single scored Mitch Maier, who led off with a single. Kansas City went ahead in the third when Mike Aviles led off with a double, moved to third on a groundout by Butler and scored on Guillen's sacrifice fly.
"Hochevar didn't give up much," Rangers manager Ron Washington said. "The sixth inning we had a chance to take the lead on him, but we just didn't get it done. Feldman hung in there and gave us 6 2/3 innings. We just didn't put enough runs to make a difference."
Royals shortstop Yuniesky Betancourt was held out of the lineup because of a mild concussion which he sustained in a collision at home plate Tuesday with Rangers catcher Matt Treanor. ... Young's triple was the 44th of his career, tying him with Ruben Sierra for the most in Rangers history. ... The Royals beat the Rangers for the first time in six meetings this season. ... The Royals are hitting an AL-best .303 in day games.