CLEVELAND -- Asdrubal Cabrera pointed to his wife in the stands as he watched his first game-ending home run sail over the wall.
"It felt really good because I can't remember ever hitting a home run to win a game," said Cabrera, who was sidelined from May 15 to July 17 with a broken left arm.
"I still am not 100 percent, maybe 90," Cabrera said. "It hurts when I check my swing. The doctor said that is normal."
Cabrera has hit .316 with 11 RBI in 20 games since Aug. 6.
Batting left-handed, the switch-hitter pulled a 2-1 fastball from righty Jesse Chavez (2-2).
Chris Perez (2-2), the fifth pitcher used by Acta, worked a scoreless 10th for Cleveland's third straight win. The Indians moved within a game of fourth-place Kansas City in the AL Central. The Royals have lost four of five.
Wilson Betemit hit a two-run homer off Cleveland starter Jeanmar Gomez and tied it at 3 with an RBI double in the eighth against reliever Rafael Perez.
"The end result is what counts," Acta said. "The bullpen has been doing a great job for us, so I can't get too upset about giving up the tying run."
Kansas City left 10 runners on base; five in the final three innings. The Royals stranded 16 in a 15-4 loss Friday night.
"We just couldn't get that one last final hit," said manager Ned Yost, still stuck at 499 career wins.
Betemit's hitting helped Zack Greinke remain unbeaten against Cleveland in nine starts since 2008. The reigning AL Cy Young winner gave up three runs and eight hits over eight innings, striking out four. He walked four -- after issuing only 38 bases on balls in his first 26 starts and 174 innings.
"We worked the count against him and put up some good at-bats," Acta said. "Greinke is so darned tough. It's not just his velocity. It's his off-speed stuff and how he locates it, too."
Greinke is 5-0 with a 2.73 ERA in nine starts against Cleveland since a 3-1 loss to the Indians on Sept. 7, 2008.
Cleveland led 3-0 after two innings. Michael Brantley doubled and scored in the first. He added a two-out RBI single in the second before Greinke walked Asdrubal Cabrera and Shin-Soo Choo to force in another run.
"I came in after the first two innings and I don't know what I could have done different," Grienke said. "I threw everything I could possibly throw in good locations. They were taking amazing at-bats. Every single one of them.
"After the second inning I thought they might score 15 runs, and there was nothing I could even do about it. I couldn't imagine executing much better than I did the first two innings."
Gomez, whose first career loss was to Greinke, 2-1 on Aug. 17, walked Jason Kendall to open the sixth. With one out, Betemit drove a 3-1 pitch over the wall in right center for his 10th homer and sixth in his last 12 games.
"It was a fastball down the middle, not a good pitch," Gomez said.
Kendall led off the eighth with a walk against Joe Smith, went to second on a one-out wild pitch by Perez, and scored on Betemit's line-drive double to right-center.
Gomez gave up two runs and six hits over 5 2/3 innings in his seventh career start and was helped by his defense.
The Royals put runners on first and third with none out in the fifth and didn't score. Mitch Maier doubled and went to third on a soft single by Yuniesky Betancourt. Maier held when Chris Getz flied out to short left. First baseman Matt LaPorta then backhanded a line drive hit by Gregor Blanco and doubled off Betancourt to end the inning.
Greinke got out of the bottom half by inducing Trevor Crowe to hit into a double play with runners on first and second.
Gomez bounced back from his worst outing, an 8-1 loss Sunday in Detroit when he gave up 11 hits and seven earned runs over three innings.
Cleveland is 4-4 in extra innings. Kansas City leads the majors in one-run games, going 24-25. The Royals are 10-6 in extra innings. ... Royals RHP Brian Bannister (shoulder) allowed three runs and four hits in two innings in his second rehab start for Triple-A Omaha on Friday. Yost said Bannister will make at least one more rehab start before being activated. ... Kansas City 1B Billy Butler did not start for the second straight game because of a sore right hand. He flied out as a pinch hitter with two on in the ninth and is 10 for 29 (.345) with five doubles and six RBIs against Cleveland this season. ... Crowe stole second and third after reaching on a single in the third inning. He's 14 for 17 in steal attempts overall. ... Royals OF Blanco went 1 for 5 after getting four hits Friday night. He's hitting .524 (11 for 21) against Cleveland this year.