Kansas City, MO (Sports Network) - Travis Hafner's infield single drove home the final run in a five-run eighth inning, as the Cleveland Indians overcame shoddy defense to rally past Kansas City, 7-3, in the finale of a three-game series at Kauffman Stadium.
Asdrubal Cabrera had two hits and two RBI for the Indians, who avoided being swept despite committing a season-high five errors.
Cleveland also snapped a five-game losing streak to the Royals.
Wilson Betemit had a two-run single for Kansas City, which was aiming for its first four-game winning streak of the season.
Royals starting pitcher Kyle Davies held the Indians to four hits through seven frames. However, Cleveland put up a five-spot in the eighth to erase a 3-0 deficit.
Trevor Crowe got things started with a one-out single, advancing to second on a wild pitch before Matt LaPorta capped a 13-pitch at-bat with a run-scoring single to center field.
Davies was lifted in favor of Blake Wood (1-3) after a single by Jason Donald. Pinch-hitter Shelley Duncan then greeted Wood with an RBI single. Michael Brantley walked to load the bases, and Cabrera lofted a sacrifice fly to tie the game.
Shin-Soo Choo put Cleveland in front with an RBI single. Dusty Hughes replaced Wood on the mound, and Hafner made it 5-3 with a grounder to deep short.
The Royals stranded two runners in the bottom of the inning, as Chris Perez, who succeeded Rafael Perez (4-0), retired Jason Kendall on a grounder to defuse the rally.
Cleveland tacked on two more runs in the ninth on a RBI groundout by Brantley, who was injured on the play, and a run-scoring double by Cabrera.
The Tribe ran themselves out of a run-scoring opportunity in the first. Brantley doubled to begin the game and was eventually thrown out at the plate attempting to score on Choo's fly ball to left.
Kansas City had two men on in the third, but Kendall lined into a 1-6 double play to end the threat.
The Royals, though, got on the board in the next inning, loading the bases with one out on a pair of singles and a walk. Mitch Maier hit a bouncer to the first baseman LaPorta, who mishandled the ball before unloading a wild throw to the plate. Billy Butler scored the game's first run on the error.
Cleveland starting pitcher Mitch Talbot managed to limit the damage by getting Yuniesky Betancourt to ground into an inning-ending double play, but the right-hander couldn't make it out of the fifth.
Chris Getz singled to lead off the inning and Gregor Blanco followed by dropping down a bunt that was fielded by the pitcher, but Talbot's throw to first hit the runner, putting both men in scoring position. An intentional walk to Butler loaded the bases with one out and, after an infield pop up, Betemit stroked a bloop single to left that extended the Royals' lead to 3-0.
Chris Perez recorded his 15th save of the season...It was the first time since July 12, 1996 that the Indians won while making five errors in a game...Alex Gordon had three hits for the Royals...Davies retired 12 batters in a row at one point...Kansas City manager Ned Yost celebrated his 56th birthday on Thursday.