KANSAS CITY, Mo. (AP) Royals manager Ned Yost never lacks for confidence, even with his team struggling to score runs and trailing with two outs in the eighth inning against the best team in the division.

''I had a really good feeling about Sal coming up there and doing something special,'' Yost said.

That would be Salvador Perez, of course. The All-Star catcher made Yost seem prophetic when he followed a single by Eric Hosmer with a two-run homer to center, propelling Kansas City to a 3-2 victory over the Cleveland Indians on Tuesday night.

More from FoxSports

Joakim Soria (3-2) pitched a scoreless eighth inning for Kansas City, then proceeded to handle the ninth with setup men Luke Hochevar Kelvin Herrera and closer Wade Davis getting the night off - the three of them were unavailable after heavy usage the previous three days.

Soria got Jason Kipnis to pop out with runners on first and second to end it.

''If you can keep these guys in the game, they like the late-inning heroics,'' said Dillon Gee, who tossed three scoreless innings in relief of Chris Young to make the comeback possible.

Whit Merrifield also went deep for the Royals, who have won four straight after an eight-game skid, while Perez's shot off Bryan Shaw (0-3) was the first non-solo homer by the Royals in their last 12.

The comeback also scuttled a solid performance by Josh Tomlin, who allowed seven hits while striking out five without a walk. He exited with a 2-1 lead and in line to beat Kansas City for the third time.

''I don't care about my win. I care about this team winning games,'' he said. ''It stinks to lose in that situation. We have the utmost faith in Shaw every time he goes out there. He's one of the best relievers, in my opinion. He'll make adjustments. We've seen what he's done in the past.''

The Indians took their first lead of the series when Carlos Santana homered in the third, his 13th of the year. It was also the AL-leading 18th that Chris Young had allowed.

Merrifield matched it in the bottom half, the 27-year-old rookie sending a 2-2 pitch over the left-field wall. His second career homer came 24 hours after his first.

Young continued to struggle with his command in the fifth, walking two more batters to exceed his 85-pitch limit. Dillon Gee entered in relief and Kipnis promptly swatted the second pitch he saw for an RBI single that gave Cleveland a 2-1 lead.

The Royals had a chance to tie it in the seventh when pinch hitter Paulo Orlando slapped a single and Cheslor Cuthbert sacrificed him to second, but Jarrod Dyson and Merrifield were unable to get him home.

Perez made it a forgotten point with his big hit in the eighth.

''It's a long season but you want to play night-in and night-out good baseball,'' Young said. ''Be nice to get on a streak now and finish up this series well.''

STAKING A CLAIM

The Royals claimed LHP Tyler Olson off waivers from the Yankees and assigned him to Triple-A Omaha, and created roster space by transferring 3B Mike Moustakas (ACL) to the 60-day DL. Olson has spent most of the season in the minors, though he did throw 2 2/3 innings of relief for New York in April.

TRAINER'S ROOM

Royals: 3B Moustakas stopped in the clubhouse after surgery to repair a torn right ACL. He has already started rehabbed, most of which will take place in Florida. ''It's not fun to sit there and watch and not be out there,'' he said, ''but my job is to get better and get ready for next season.''

Indians: 3B Juan Uribe was feeling better after sustaining a testicular contusion Sunday against the Angels. He remained out of the lineup, though manager Terry Francona said Uribe did all pregame work.

UP NEXT

Indians RHP Corey Kluber tries to build on a complete-game victory over the Angels in the series finale Wednesday night. RHP Ian Kennedy is on the mound for Kansas City.