KANSAS CITY, Mo. (AP) -- It took the bottom of a makeshift lineup filled with mostly with backups for the Kansas City Royals to finally put some runs on the board against the Cleveland Indians.
Jorge Bonifacio had three hits to start rallies, fill-in third baseman Cheslor Cuthbert homered and drove in three runs, and Alcides Escobar also had three RBIs to help the Royals to a 7-4 victory Sunday and avoid a three-game sweep at the hands of the AL Central leaders.
"We knew we had to get this one," said Bonifacio, who started for Alex Gordon in left field.
Backup catcher Cam Gallagher also drove in a run for the Royals, who finally got their bats going after scoring just once in the first two games of the series. Kansas City piled up 12 hits and six runs off Cleveland starter Danny Salazar (5-6), and finished with 15 hits for the day.
"The bottom of the lineup was tremendous," said Royals manager Ned Yost, whose club now trails the Indians by 6 1/2 games in the division. "Some good at-bats down there."
Jason Hammel (6-9) allowed three runs on five hits and a walk in six innings to win for only the second time since June 19. The Royals right-hander had been 1-3 with six no-decisions during that span.
Kelvin Herrera gave up a run against the bottom of the Indians' order before finishing the game.
"It's one of those days when you get down and you spend so much time on defense, it kind of takes some of your energy away," Indians manager Terry Francona said. "That's a tough game to play."
Escobar and Gallagher gave Kansas City the lead with run-scoring singles in the second, but Cleveland pushed ahead on Francisco Lindor's third-inning homer and Austin Jackson's sacrifice fly in the fourth.
Cuthbert, giving All-Star third baseman Mike Moustakas a day off from the field, knotted the game again when he sent a pitch from Salazar screaming over the bullpen in left.
Then, everything came unraveled for the Indians' starter in the fifth. Salazar gave up a trio of singles, the last two with two outs, before Cuthbert's two-run single off Zach McAllister made it 6-3.
"You hoped he could kind of dodge a few bullets," Francona said, "but at some point there is so much traffic that you knew they were going to score."
It was the shortest start for Salazar since May, and his first loss since facing Kansas City on May 27. It also ended a five-game tear since returning from the disabled list for shoulder soreness, a stretch in which Salazar had allowed only five total runs.
The Indians still finished 8-3 on their four-city road trip.
"I was joking with my wife if we go 8-and-3 on this road trip, we're going to be in a good spot," Indians catcher Yan Gomes said. "It's like, four cities in 10, 11 days. We toughed it out and won every series on the road against good ballclubs, so that should give us a lot of confidence."
STATS AND STREAKS
The Royals have won 11 of 14 against division rivals. ... Escobar and Moustakas each extended hitting streaks to 11 games. ... Cuthbert's home run was his first since April 8 in Houston. ... Lindor finished a triple shy of the cycle, going 3 for 5 with a stolen base.
Royals: C Salvador Perez (right intercostal strain) continued with fielding drills and batting practice as he targets a return Tuesday or Wednesday. "He's making progress and we'll just see," Yost said. "He's had no setbacks, which is good. We'll just keep ramping it up."
Indians: RHP Corey Kluber, who sprained his right ankle covering first base Friday night, threw a short bullpen session and plans to start Wednesday against Boston. "No restrictions," Francona said.
The Indians head home for four games against Boston starting Monday night, then welcome the Royals to town for three games. Kansas City has a day off before a series against the Rockies, and several players said they hope the weather cooperates for them Monday to see the eclipse.