"It was great to see Jhonny have a big night offensively after he had such tough luck," Indians manager Eric Wedge said.
On Friday night, Peralta twice got key hits in a tie game that Cleveland eventually lost in 12 innings, 2-1. On consecutive at-bats in the ninth and 11th, Peralta hit sharp singles with a runner on second base -- and both times was deprived of a winning RBI when the baserunner was thrown out at the plate.
"That was pretty strange but there was nothing I could do about it," Peralta said. "Tonight, they scored. I'm a lot happier."
Peralta had a two-run double in the fourth off Luke Hochevar (6-10) and his two-run single capped a five-run sixth that put Cleveland ahead 11-3.
Huff (10-9) won his third straight start, improving to 5-1 in six outings since Aug. 9. The left-hander allowed three runs and seven hits over six innings, striking out a career-high six. He is the first Cleveland rookie to win 10 games since Ryan Drese went 10-9 in 2002.
"It's been a different year to say the least," said Wedge, who used eight other starters before Huff was called up from Triple-A Columbus on May 17. "It's nice to see him string some good starts together.
"He's been utilizing his fastball, but I liked the way he used his changeup tonight, too," Wedge said.
Hochevar gave up five runs over five innings and extended the longest active losing streak in the AL to seven games. The right-hander went 6-1 in nine starts from June 6-July 25. In nine starts since, the No. 1 overall pick in the 2006 draft is 0-7 with an 8.21 ERA.
"I know things haven't been going the way I want," Hochevar said. "All I can control is how I prepare. I will find a way to get it done. I'm not going to second guess myself. I'll get it done."
Hochevar again had trouble in a couple innings. He has been scored upon in 44 total innings this season, allowing multiple runs in 22 of them.
"He can't limit the damage," Royals manager Trey Hillman said. "He's got to make quality pitches at key times. More often than not, he's had trouble with the middle of the order. Those guys are there for a reason."
Cleveland's top five hitters in the order went a combined 13 for 22 with nine runs and 11 RBIs. Michael Brantley had four hits and Jamey Carroll three as Cleveland broke a four-game losing streak and won for the third time in 12 games. The Indians tied a season high with seven doubles.
Shin-Soo Choo hit his 15th homer, first since Aug. 15, in a three-run fifth that gave the Indians a 5-3 lead. It was Choo's second homer in 217 at-bats since July 8.
Peralta's two-run double put Cleveland ahead 2-1 in the fourth. Asdrubal Cabrera walked and Choo beat out an infield single. Peralta then hit a sharp grounder under the glove of third baseman Alex Gordon, scoring both runners.
Willie Bloomquist's two-run double in the fifth gave the Royals a 3-2 lead.
Cleveland tied it at 3 in the bottom half. Brantley singled, stole second and scored on a double by Carroll.
Brantley's RBI single off Dusty Hughes gave Cleveland a 6-3 lead in the sixth. Carroll followed with a run-scoring single off Victor Marte. Cabrera then hit a ground-rule double that bounced over the wall in right-center, scoring Brantley and sending Carroll to third. After Choo was walked intentionally, Peralta added a two-run single to left. Another run scored on a throwing error by Royals shortstop Yuniesky Betancourt later in the inning.
Cleveland is 10-7 against the Royals this year and has not lost a season series to them since 2003. ... Royals 3B Mark Teahen was a late scratch due to a stiff back. ... DeJesus extended his hitting streak to 13 games. ... Billy Butler got his first career stolen base in his 355 games. ... Indians C Chris Gimenez struck out twice in two at-bats and is 2 for 44 (.045) in his last 15 games. ... Brantley has hit .381 since being called up Sept. 1. He is the first Cleveland rookie with a four-hit game in his first 10 games since Andy Allanson in 1986.