KANSAS CITY, Mo. - Salvador Perez and Luke Hochevar came through for the Kansas City Royals when they most needed it.
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.
Abraham Almonte, who was playing in his fourth major league game, attempted to make a diving catch of Moustakas' hit.
"It is an aggressive young play, but he's not going to make that catch," Mariners manager Eric Wedge said. "The best play is probably pull up, get it on a hop, keep him at first base and out of scoring position."
Hochevar (4-2), the fourth of five Kansas City pitchers, picked up the victory after stranding two inherited runners in the eighth. He left with a celebratory leg kick and to a standing ovation.
"I'm not a big emotional guy, but sometimes the situations call for it," Hochevar said.
Greg Holland worked a spotless ninth, striking out two, for his 38th save in 40 opportunities. Medina (4-4) was charged with the loss.
"All the credit goes to Hoch,'' Moustakas said. "He came in a huge situation for us and did exactly what we needed to do. That guy saved the game for us."
The Royals jumped out to a 3-0 lead, but the Mariners rallied to tie it. Kyle Seager homered with Franklin Gutierrez aboard after Gutierrez had led off the sixth inning with a single. Seager blasted a 1-0 Bruce Chen pitch to right for his 22nd homer of the season.
Chen left after six innings, 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. 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.
"They really pitched Zunino tough in that situation, threw some heavy hard sinkers, and Mike wasn't able to get to it," Wedge said.
The Mariners went 0-for-9 with runners in scoring position and are 1-for-20 in those situations in the first two games of this series.
"Those are the type of situations with these young kids that they've got to get comfortable being in," Wedge said. "We got some great young competitors here, but they struggle in those type of situations to take advantage of them - rather it be early in the inning with a couple of runners on with nobody out or late in the inning trying to get that two-out knock."
Mariners starter Erasmo 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 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. 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, Almonte and Brendan Ryan on infield flies to strand the runners.
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 Emilio 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.
The Royals won their 72nd game, which matches their win total for last year.
"There's no sitting back and patting your back at 72 wins right now," Royals manager Ned Yost said. "We want to continue pushing, continue playing with confidence the way we are right now, keep winning a bunch more games."
They entered the game 4 1/2 games back in the wild-card standings.
Meanwhile, the Mariners are 3-9 in their past dozen games.
"We got some hits tonight," Seager said. "It's just kind of the same thing. They were able to make some good pitches and get out of a couple of jams."
Getz left in the top of the third with an upset stomach and mild dizziness. The Royals fear he may have a concussion. 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.