Luis Mendoza pitched into the eighth inning and the Royals used early offense to beat Cleveland, 5-2, earning back-to-back wins for the first time in more than a month.
Kansas City, which hadn't won consecutive contests since a four-game run June 25-29, scored four times over the first two innings.
Mendoza (5-7) gave up four hits and a pair of runs over 7 1/3 frames in the second portion of this three-game series.
Carlos Santana homered in the fifth straight loss for the Indians. Zach McAllister (4-3) yielded five hits and five runs -- four earned -- over six innings.
"It's been a rough five days at the wrong time, I would say," Indians manager Manny Acta said. "It's hard to believe that since that last game against Detroit we haven't been able to do anything to help us win a ball game. We're not doing anything right, right now. Tonight is not an exception. We struggled with the bats and Zach struggled at the beginning."
Sloppy defense by the Indians helped the Royals in a two-run opening inning. Alcides Escobar walked with one out and Lorenzo Cain singled. The duo executed a double steal, but Escobar scored on the play when Santana threw the ball down the left-field line. Billy Butler followed with an RBI groundout.
Jarrod Dyson singled in Chris Getz in the bottom of the second. Dyson stole second before scoring on Alex Gordon's double to left-center field.
Santana's 10th homer of the year, a shot to right-center that barely cleared the wall, had the Indians within 4-1 in the fourth. Video replay was used to confirm the homer.
The Royals tacked on another run in the fifth when Cain's double to left plated Escobar from first base.
Asdrubal Cabrera singled in Jack Hannahan in the eighth, but with two men on base later in the inning, Jose Mijares retired Michael Brantley on a fly ball to left to end the frame.
Greg Holland retired the side in order in the ninth for his first save of the year.
"I was kind of amped up today. I had to calm myself down," said Holland, who took over the closing role after Jonathan Broxton was traded to Cincinnati on Tuesday. "I told myself it's just another three-run game. Fortunately when you get that three-run lead, you can just attack the strike zone."
The Indians placed designated hitter Travis Hafner on the paternity list and recalled infielder/outfielder Vinny Rottino from Triple-A Columbus...The Royals recalled right-handed reliever Jeremy Jeffress from Triple-A Omaha...The Royals have won the last four meetings...The Indians announced they will designate veteran pitcher Derek Lowe for assignment on Thursday. The Indians are making the move so they can clear a roster spot for right- hander Corey Kluber. His first big league start will be Thursday night against the Royals.