KANSAS CITY, Mo. (AP) -- Cheslor Cuthbert homered and drove in three runs, Alcides Escobar also had three RBIs and the Kansas City Royals beat the Cleveland Indians 7-4 on Sunday to avoid a three-game sweep.
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.
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.
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.
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.
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," manager Ned Yost said. "He's had no setbacks, which is good. We'll just keep ramping it up."
Indians: RHP Corey Kluber tested his sprained right ankle with a short bullpen session. Kluber was hurt covering first base Friday night and it's uncertain whether he will start Wednesday against Boston. Cleveland manager Terry Francona would not speculate about who would start in Kluber's place.
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.