CLEVELAND -- This was exactly what the struggling Kansas City Royals needed. Lockdown pitching and plenty of hitting.

The result was a 7-0 victory over the Cleveland Indians on Saturday at Progressive Field.

"It was just what the doctor ordered for us," Royals manager Ned Yost said.

Ian Kennedy pitched seven scoreless innings and Kendrys Morales had two hits, including a home run and four RBIs for the Royals, who won for only the third time in their last 11 games.

The loss snapped Cleveland's four-game winning streak.

Kennedy (4-2) gave up four hits and had six strikeouts and two walks. Cleveland starter Cody Anderson (0-2) pitched five innings and took the loss.

Anderson was recalled from Triple-A Columbus before to the game. He was in immediate trouble in the first inning. After Anderson retired leadoff hitter Alcides Escobar, Lorenzo Cain singled.

Eric Hosmer followed with a single, sending Cain to third base. Anderson got ahead in the count to Morales. But he then belted a 0-and-2 pitch from Anderson deep into the right field seats for his third home run of the season, giving Kansas City a 3-0 lead.

"I was just looking to make contact," Morales said. "He left something up and I was able to put a good swing on it."

Added manager Terry Francona of the Indians: "Cody made a really bad pitch to the wrong guy."

Said Anderson: "I was trying to go in off the plate with a cutter but he got to it before it cut."

The Indians had a chance to answer in the bottom of the first, but a rally stalled. Rajai Davis and Francisco Lindor both singled, putting runners at first and third with one out.

But Kennedy struck out Mike Napoli and retired Carlos Santana on a fly ball to left field to end the inning.

"To get out of that inning was huge," Kennedy said. "After we score three the last thing I want to do is give up runs in the bottom of the inning."

Those two outs started Kennedy on a stretch in which he retired 14 batters in a row.

"When Ian has struggled it's usually been in the first inning," Yost said. "I knew if he could get out of the first inning he'd be Ok, and he was. He went on a roll."

Anderson struggled in every inning he pitched, and the Royals reached him for another run in the fifth.

With one out, Christian Colon singled and went to second on a wild pitch. No. 9 hitter Jarrod Dyson lashed a double to left field, scoring Colon and giving Kansas City a 4-0 lead.

"You never want to put your team in a hole like that," Anderson said. "That's not how you win ballgames."

After having 14 consecutive batters retired, the Indians pieced together a rally against Kennedy in the sixth, but again they were unable to get a big hit.

Juan Uribe led off with a single and was erased when Davis hit into a double play. But Jason Kipnis walked and Lindor singled. Napoli drew a walk on a 3-2 pitch, which loaded the bases with two out.

But Kennedy escaped the jam by getting Santana to swing at the first pitch, resulting on an inning-ending groundout to Hosmer at first base.

"Carlos got a good pitch to hit, he just rolled over on it," Francona said. "I had no problem with him swinging at the first pitch. We're looking for him to hit one in the seats there."

Anderson was removed from the game after the fifth. He gave up four runs and six hits, with two strikeouts and one walk.

Kansas City added three runs in the eighth.

Escobar singled and went to second on a single by Cain. Hosmer's double scored Escobar and sent Cain to third. Cain scored on an infield single by Morales to make it 6-0. Two outs later, Cheslor Cuthbert singled in Hosmer, giving the Royals a 7-0 lead.

NOTES: The Royals placed 3B Mike Moustakas on the disabled list because of a broken left thumb. To replace him on the roster, the Royals recalled 3B Cheslor Cuthbert from Triple-A Omaha. ... Royals RHP Yordano Ventura, who has averaged 3.6 walks per nine innings during his career, is averaging 7.3 walks per nine innings this year. ... Indians OF Tyler Naquin was optioned to Triple-A Columbus. His spot on the roster was taken by RHP Cody Anderson, who was recalled from Columbus. ... With the demotion of Naquin, OF Rajai Davis is expected to get most of the playing time in center field. ... Indians INF Jose Ramirez, who had five RBIs on Friday, is 8-for-18 (.444) with runners in scoring position this season.