KANSAS CITY, Mo. -- Salvador Perez went 3-for-4 with a home run and drove home the winning run with a two-out single in the eighth inning as the Kansas City Royals defeated the Seattle Mariners 4-3 on Tuesday night.
Perez drilled a 2-2 Yoervis Medina pitch to left field to score Mike Moustakas, who had doubled to center, for the go-ahead run.
Luke Hochevar (4-2), the fourth of five Kansas City pitchers, picked up the victory after stranding two inherited runners in the eighth. Greg Holland worked a spotless ninth for his 38th save in 40 opportunities. Medina (4-4) was charged with the loss.
The Royals jumped out to a 3-0 lead, but the Mariners rallied to tie it. Kyle Seager homered with Franklin Gutierrez, who led off the sixth inning with a single, aboard. Seager blasted a 1-0 Bruce Chen pitch out to right for his 22nd homer of the season.
Chen left after six innings and 81 pitches, allowing two runs and six hits with no walks and two strikeouts.
The Mariners tied it in the seventh with a run off Royals relievers Kelvin Herrera and Tim Collins. Abraham Almonte and pinch-hitter Kendrys Morales, who was hitting .148 in his previous 16 games, stroked singles with one out against Herrera. Collins replaced Herrera with runners on the corners, but Almonte scored on Brad Miller's groundout to second.
Hochevar bailed out Collins in the eighth. Collins yielded an infield single to Raul Ibanez and a double down the left-field line to Justin Smoak with one out. Hochevar entered and struck out Mike Zunino and retired Endy Chavez on a fly to center fielder Jarrod Dyson to strand the runners.
Ramirez was pulled after 6 1/3 innings, yielding three runs and seven hits, two of them solo home runs.
Alex Gordon wasted no time getting the Royals on the board, homering to right on Erasmo Ramirez's first pitch. It was Gordon's club-record 12th leadoff home run. He had shared the record with Willie Wilson and David DeJesus, who each had 11 leadoff homers.
Chen, who was making his 10th start after beginning the season in the bullpen, pitched out of jeopardy in the second. Justin Smoak began the inning with a single to center. Zunino had an infield single and Smoak advanced to third on Chris Getz's throwing error to first base.
Chen retired Chavez, Abraham Almonte and Brendan Ryan on infield flies to strand the runners.
Salvador Perez made it 2-0 in the fourth when he homered over the left-field fence into the Kansas City bullpen. It was his 10th home run of the season and his fourth in 13 games.
The Royals added a run in the fifth when Emilo Bonifacio singled with one out and swiped second, his 12th steal in 20 games with the Royals without being caught. After Eric Hosmer walked, Billy Butler laced a single to right to score Bonifacio. Butler, who snapped an 0-for-16 skid on Monday, has hit safely in 15 of his past 16 home games.
Getz left in the top of the third with an upset stomach and mild dizziness. He was replaced by Bonifacio.
NOTES: RHP Felix Hernandez, who left his Monday start in the seventh inning with lower back cramps, was still feeling rather tender on Tuesday. If he does not improve soon, the Mariners might push back his Sunday start against Tampa Bay. ... Mariners RHP Taijuan Walker will make two more starts, on Wednesday against the Royals and Sept. 10 against the Houston Astros. After that, the Mariners will shut down the 21-year-old phenom as he will be at his innings limit for 2013. RHP Brandon Maurer will take his spot in a six-man rotation. ... LHP James Paxton, who was promoted from Triple-A Tacoma, where he was 8-11 with a 4.45 ERA, is scheduled to make his major league debut on Saturday with a start against the St. Louis Cardinals at Safeco Field. ... The Royals added six players to their roster, including 1B Carlos Pena, who hit 31 or more homers and drove in at least 100 runs in three straight seasons from 2007 to 2009 with the Rays, and IF Pedro Ciriaco, who hit .228 in 51 games this season with San Diego and Boston.