SEATTLE -- Jose Lopez came through on his third chance to drive in the game-winning run.
"Throw me a strike," Lopez about the situation he knew Rangers reliever Josh Rupe was facing in the 13th inning. "I'll have a chance to put the ball in play."
John Rheinecker (4-6) walked Raul Ibanez and Eduardo Perez to lead off the inning. Oswaldo Navarro, making his major league debut after being recalled from Tacoma the previous day, sacrificed against Rupe to move the runners to second and third.
"I was a little nervous, especially in that situation," Navarro said. "But I knew I could bunt. 'It's my game. I can do it."'
Kenji Johjima then walked on a 3-2 pitch to load the bases, before Lopez's drive on a 2-1 pitch bounced into the Mariners' bullpen with the Texas outfield drawn in to end the 4 hour, 16-minute game.
"He was patient at the plate and made Rupe get the ball up and ended up getting the base hit," Seattle manager Mike Hargrove said.
The Mariners won their fourth straight and handed the Rangers their third straight loss. Seattle trails third-place Texas by three games in the AL West.
Seattle, which is 4-8 against Texas this season, has won 12 of 17 games after an 11-game losing streak.
Right-hander Emiliano Fruto (1-1), who allowed one hit in 2 2/3 innings, picked up his first major-league win. He had one strikeout and no walks in his first appearance since July 31. Fruto was recalled from Triple-A Tacoma on Sept. 1.
Gary Matthews homered on a 3-2 pitch with two outs in the top of the ninth off Seattle closer J.J. Putz, who had blown only five saves in 37 chances. It was only the fourth home run Putz has allowed in 68 1/3 innings.
"He got beat throwing a 98 mile-per-hour fastball," Hargrove said. "I'll take that but I don't like to see it happen."
Richie Sexson's towering shot off the right-center field wall off Texas reliever Joaquin Benoit with one out in the ninth just missed being his third game-ending homer of the season by 2 feet. Benoit intentionally walked Ben Broussard before getting the final two outs of the inning.
From there, it was a battle of bullpens as the teams combined to use 15 pitchers total -- Rupe being the eighth for Texas.
"We got some good innings out of a young bullpen, but we just needed more hits," Texas manager Buck Showalter said.
"Those guys have been great all season long," Seattle starter Jarrod Washburn said about the bullpen. "And tonight was no different."
Washburn allowed one run on six hits in six innings. The left-hander, who has received run support of three runs or fewer in 17 starts, struck out five and walked two.
"It's just a matter of going out and making pitches and not getting myself in trouble," Washburn said.
Texas starter Robinson Tejeda allowed one earned run on four hits in 6 2/3 innings. The right-hander had seven strikeouts and two walks.
"He's been a lot more in command in his last two starts," Showalter said. "I thought he had his best breaking ball of the season tonight."
The Rangers went ahead 1-0 in the top of the sixth. Mark DeRosa's double to the right-center field wall scored Carlos Lee, who had reached base on an infield single. DeRosa slid in just before the relay from second baseman Jose Lopez reached catcher Kenji Johjima.
Willie Bloomquist led off the bottom of the inning with a walk and Suzuki's slap over the shoulder of third baseman Mark DeRosa in shallow left field put runners at first and second with no outs.
Chris Snelling's sacrifice bunt scored Bloomquist after Tejeda's throw to first baseman Mark Teixera bounced in the dirt and skipped down the first-base line. Suzuki scored when Betancourt grounded into a double play to make it 2-1.
Betancourt, 15-for-45 (.333 average), is the only Mariners player with a minimum of 25 plate appearances that is hitting above .300 against Texas this season. Betancourt has a nine-game hitting streak. ... Suzuki had three singles. ... Seattle has won 12 of its last 14 games at Safeco Field. ... Texas, which won both of its 12-inning games -- against Baltimore on May 3 and at the Los Angeles Angels on Aug. 3 -- played its longest game of the season. ... Fruto was the losing pitcher in a 7-6 loss during a 14-inning game July 15 at Toronto.