Cleveland reduced its magic number to clinch the American League Central Division and a third consecutive playoff appearance to 9. Second-place Minnesota played at 8:10 p.m. at Houston, and a Twins loss would drop the magic number to eight.
Kluber (18-7, 2.75) was brilliant, recording his fifth start with at least 10 strikeouts. He tossed 6 2/3 innings, allowing a run on just two hits and walking one. Indians pitchers combined for 16 strikeouts against a Royals lineup that took an aggressive approach at the plate.
"Against me, they're always aggressive," Kluber said. "We kind of prepare for that. It basically comes down to executing pitches early in the count. When they're coming out aggressive, you don't want to give them good pitches to hit early in the count.
Oliver Perez relieved Kluber in the seventh and struck out Royals center fielder Brian Goodwin with a runner on base. Cody Allen and Brad Hand each pitched a scoreless inning for manager Terry Francona's bullpen.
Hand earned his 32nd save overall and eighth with Cleveland. Since joining the Indians in late July, Hand has posted a 1.86 ERA across 19 appearances.
Kluber's only blemish came in the fourth inning when he allowed a one-out double to K.C. left fielder Alex Gordon and a two-out RBI triple to rookie Ryan O'Hearn. He improved his record to 9-2 with a 2.23 ERA against A.L. Central Division teams.
"The last couple times out it seemed like he started to get the feel back," Francona said of Kluber. "The breaking ball had some shape to it, and he throws that two-seamer in to the lefties because it starts going back and forth."
Greg Allen got the Indians on the board in the second inning with a two-out RBI single against Royals starter Brad Keller (7-6, 3.14) after back-to-back hits by Kipnis and Yan Gomes.
Allen is now batting .280 (25-89) with two doubles, a homer, 11 RBI and 14 runs in 26 games since the All-Star break.
Edwin Encarnacion's RBI groundout in the fifth gave the Tribe a 2-1 advantage before Kipnis delivered an insurance run with an RBI sacrifice fly in the bottom of the eighth. Kipnis batted .357 (10-28) in nine games on the homestand, with three doubles, two homers, seven RBI and four runs.
Brandon Guyer set up Kipnis' RBI with a bunt single down the third-base line. Royals third baseman Hunter Dozier's throwing error allowed Guyer and Yonder Alonso to advance before Kipnis plated Alonso with a fly ball to right.
"It was a big play for us," Francona said of Guyer's bunt. "We want to put (Guyer) in because he covers more ground than Melky (Cabrera), but then when he adds to our offense, that's certainly welcome."
What it means
In the race to host the ALDS on Oct. 5, the Indians (79-60) trail AL West-leading Houston (86-53) by 7 games.
Keller threw 99 pitches, 69 (70 percent) for strikes. Kluber threw 105 pitches, 68 (65 percent) for strikes.
Thanks for coming
The Royals and Indians drew a crowd of 18,435 to Progressive Field on Wednesday afternoon. First pitch was at 1:10 with a temperature of 91 degrees.
The Indians travel to Toronto to open a four-game series against the Blue Jays at Rogers Centre. Right-hander Shane Bieber (8-3, 4.66) will take on righty Sam Gaviglio (3-7, 5.02) on Thursday at 7:07 p.m. SportsTime Ohio and WLKR-FM 95.3 will carry the game.
Bieber takes on the Blue Jays for the first time in his career. He is 4-0 with a 4.44 ERA in eight road starts this season. Gaviglio has never faced the Indians. He is 2-1 with a 2.68 ERA in 11 appearances at home in 2018.