ST. PETERSBURG, Fla. (AP) - Salvador Perez hit a go-ahead, three-run homer in the ninth inning and the Kansas City Royals beat the Tampa Bay Rays 5-4 on Wednesday night.
Kirby Yates (0-1), the fifth Tampa Bay reliever, entered with runners on first and third with one out and gave up Perez's towering shot into the left-field corner.
It's been a big week for Perez, chosen Sunday to start at catcher for the American League in next week's All-Star game.
Aaron Crow (4-1) pitched a scoreless eighth for the win. Greg Holland got three outs for his 24th save.
The second-place Royals return home Thursday night to begin a four-game series against AL Central-leading Detroit, which has a 4 1/2-game lead.
Kansas City All-Star outfielder Alex Gordon (sprained right wrist) and third baseman Mike Moustakas (flu) were not in the starting lineup. In addition, left-hander Jason Vargas was taken to the hospital and scheduled for an appendectomy.
Kevin Kiermaier went 4 for 4 with a grand slam for the Rays, who lost two of three in the series.
After starter Yordano Ventura walked light-hitting Jose Molina to load the bases with two outs in the fourth, Kiermaier sent a shot into the right-field stands to give Tampa Bay a 4-2 lead.
Eric Hosmer hit a first-pitch solo homer with two outs in the first off Alex Cobb that put the Royals up 1-0. It was the first time Cobb pitched against Kansas City since being struck near the right ear June 15 last year by a liner hit by Hosmer.
Cobb, sidelined for two months due to problems that included a concussion and symptoms of vertigo, allowed two runs and six hits in 6 2-3 innings.
Ventura gave up four runs, five hits and four walks in five innings. He struck out five.
The Royals loaded the bases with no outs in the fourth, but scored just once to take a 2-0 lead on Raul Ibanez's grounder. Kansas City failed to score with the bases loaded and two outs in the seventh when reliever Grant Balfour got a pop fly from Perez.