KANSAS CITY, Mo. - Jason Vargas never let Michael Brantley's two-run homer in the first inning get to him.

After all, it was a good pitch that the Indians outfielder hit.

Instead, Vargas relied on his experience, accuracy and veteran guile to keep Cleveland off balance the rest of the night, and Eric Hosmer rewarded him by belting a three-run homer of his own that helped lift the Kansas City Royals to a 5-3 victory Tuesday night.

"The pitch that Brantley hit wasn't a bad pitch," Royals manager Ned Yost said. "He was trying to go with a sinker and he got it in, and Brantley just hit a great pitch."

Jason Kipnis was the only other Indians player to do that against Vargas (3-1) through six innings. Along with allowing two hits, Vargas struck out five in a dominant performance.

"That was big, to keep them there, give the offence a chance to bounce back," said Hosmer, who added an RBI triple in the eighth inning when the game was still hanging in the balance.

Ryan Madson pitched a perfect seventh for Kansas City before Kelvin Herrera served up a homer to Lonnie Chisenhall in the eighth, ending his streak of 105 1-3 innings without allowing one.

Herrera still handed over a lead to Wade Davis, though. He cruised through the ninth inning in place of injured All-Star closer Greg Holland for his sixth save.

The Indians' Danny Salazar (3-1) gave up Hosmer's homer, but was just as tough as Vargas most of the night. He allowed four runs on five hits in seven innings, striking out nine.

"I think I could have done a better job in the first three innings. It was very tough, very hard," Salazar said. "My fastball wasn't there."

Things started promising for the Indians when Carlos Santana worked a one-out walk and Brantley stepped to the plate in the first. He caught a hanging 1-1 pitch from Vargas and managed to guide it just inside the left-field foul pole to give the Indians a 2-0 lead.

The advantage sure didn't last long.

Gordon led off the bottom half with a base hit, and Kendrys Morales was plunked by Salazar, before Hosmer stepped to the plate and took a mighty chop at a 2-0 pitch. The ball soared over the wall in left-centre, splashing into the fountains more than 415 feet away.

It was Hosmer's fourth homer of the year. He had nine all of last season.

That was plenty of offence for Vargas, who built on a solid start against the Indians last Monday. After allowing two runs on three hits in five innings in that 6-2 victory, he turned to pinpoint accuracy and veteran guile to flummox the Indians on Tuesday night.

Vargas retired 14 of 15 batters between Brantley's homer and Jason Kipnis' double.

"He's always got that changeup. And it's almost like you have to be disciplined enough to take one side of the plate or the other because he can get you in-between so well," Indians manager Terry Francona said. "He can add and subtract, get you out on your front foot and kind of takes the sting out of the bat."

PENALTY BOX

The Royals played their second straight without OF Lorenzo Cain, who is serving a suspension for throwing a punch in a brawl with the White Sox. He is eligible to return Wednesday night.

TRAINER'S ROOM

Indians: DH Nick Swisher (knee surgery) was activated from the disabled list. He went 0 for 4, striking out to end the game. ... C Yan Gomes (sprained knee ligament) threw to second from a crouch before the game, another step forward in his rehab.

Royals: Holland (strained pectoral muscle) is expected to come off the DL on Wednesday. ... SS Alcides Escobar is still waiting for MLB's doctors to clear him following a concussion. He is eligible to return Thursday. "Raring to go," Yost said.

UP NEXT:

Indians: RHP Carlos Carrasco tries to turn around his fortunes against the Royals. He is 2-4 with a 4.82 ERA in 12 career appearances, including 0-2 last season.

Royals: LHP Danny Duffy carried a shutout into the eighth inning in an 8-1 win over Detroit his last time out. He is 2-1 with a 2.61 ERA against the Indians.