SEATTLE -- Alex Gordon threw out a runner at the plate in extra innings and scored on Salvador Perez's two-out double in the 12th to lift the Kansas City Royals over the Seattle Mariners 6-5 on Monday night.
Kansas City moved within three games of idle Cleveland for the second AL wild card with six remaining. Texas is a game behind the Indians.
Gordon saved the Royals in the 10th inning, when his one-hop throw to Perez from left field cut down Kyle Seager for an inning-ending double play.
Greg Holland walked the first two batters in the 12th, then retired three straight to end it.
Gordon drew a leadoff walk from Lucas Luetge (1-3) in the top of the 12th and Emilio Bonifacio sacrificed. Eric Hosmer popped out before Johnny Giavotella walked.
Perez, who had three hits, sent the next pitch into the left-field corner. Gordon scored and Giavotella was thrown out at the plate.
Wade Davis (8-11) pitched two hitless innings for the win. Holland earned his 45th save in 48 chances to tie Dan Quisenberry (1983) and Jeff Montgomery (1993) for the club record.
Franklin Gutierrez and Michael Saunders hit back-to-back homers in the eighth for Seattle to tie it at 5.
Seager opened the 10th with a double off Francisley Bueno and went to third when right fielder Justin Maxwell bobbled the ball for an error. Kendrys Morales was intentionally walked before Davis took over and struck out Gutierrez.
Saunders was intentionally walked, loading the bases. Pinch-hitter Endy Chavez lifted a fly ball to left and Seager tagged up, but Gordon's throw to the plate was barely in time.
With their 21st extra-inning game, the Mariners matched the 1982 team record. They have lost 15, three more than the previous mark of 12 set in 1982. Seattle has dropped eight straight in extra innings, equaling last year's club.
The Royals opened the scoring with two runs in the fourth off Brandon Maurer. Billy Butler had an RBI single and Hosmer scored when right fielder Abraham Almonte's throw to third sailed into the stands for an error.
Yordano Ventura, making his second big league start for the Royals allowed one run and two hits in 5 2-3 innings. The hard-throwing right-hander struck out six, but three walks hastened his departure.
Kansas City rallied for three in the eighth to take a 5-3 lead.
Bonifacio tied it with an RBI single, and Gordon scored when Hosmer grounded into a fielder's choice. Seattle tried to turn an inning-ending double play, but a throwing error by second baseman Nick Franklin allowed Hosmer to reach second. Perez added an RBI single.
NOTES: Royals RHP James Shields, hit on the right elbow by a line drive in the third inning Sunday, showed no ill effects Monday, according to manager Ned Yost. Shields remained in the game and threw eight shutout innings against Texas. He is expected to make his start Friday against the White Sox. ... Mariners LHP Joe Saunders, who lost 6-5 on Saturday to the Angels, is not expected to start again this season. "As of right now, that's what we're looking at," manager Eric Wedge said. Saunders is 11-16 with a 5.26 ERA in 32 starts. ... Almonte has reached base safely in all 17 games to begin his major league career and has a hit in 15 of them. It's the second-longest such streak in club history.