The Mariners also left the tying run at second to end the game, went 0-for-5 with runners in scoring position and left nine men on base.
But even with all those negatives, the Mariners made a late push and came close to their first sweep of the Rangers since 2007. A win also would have given Seattle its first win of a season series against its division rivals since 2007.
"You play a good team like Texas and you fight them hard and win two out of three. Had a chance to sweep here today, we're just a little bit short right now," Mariners manager Eric Wedge said. "Still, you take two out of three toward the end of September against a first-place club and arguably one of the best teams in the league, I think it says a lot about our kids and how far they've come."
The high level Seattle has played at against the Rangers isn't lost on first-place Texas.
"Somebody is going to catch hell from that team before too much longer," Rangers manager Ron Washington said. "I don't know if they play everybody like they play us, but they play us tough. They are growing and learning.
"You can talk about us not getting many hits with men in scoring position, but they had something to do with that. They can pitch. They bring in [Shawn] Kelley and [Carter] Capps and [Stephen] Pryor and all those guys throwing 100 mph and they make it tough on you."
Mariners starter Jason Vargas had to pitch out of trouble all game but did so effectively, stranding a runner at third with one out in the third and leaving two on base on three separate occasions, including a second-and-third situation in the sixth.
"I felt like I threw the ball well," Vargas said. "Got out of some situations when I had to."
For all the trouble Vargas worked out of, it was a pair of quick blasts that did him in.
Mike Napoli scored the game's first run with a one-out shot into the Mariners bullpen in the fourth. David Murphy followed with a walk to set up Geovany Soto's two-run blast to left field that quickly put the Rangers up 3-0 in the span of three batters.
Keeping the ball in the yard has been an issue at times for the Mariners lefty, as he allowed home runs in 12 consecutive games earlier this season. Vargas has now allowed 35 home runs on the season, trailing only the Angels' Ervin Santana, who has given up 36.
Meanwhile, Vargas received no run support, as the Mariners' struggles on offense continued through a rough six innings. Seattle made it a game in the seventh, though, flexing its muscles with a pair of solo home runs.
Thames brought an end to the offensive futility with a leadoff shot in the seventh, sending the ball deep into the right-field seats for his ninth home run of the season. Brendan Ryan chased Rangers starter Ryan Dempster two batters later, putting a line drive over the left-field wall. The Mariners have now homered in 13 straight games, a season high.
It was a rare home run for Ryan, who hadn't hit one since June 19 in Arizona. It was just the third homer this season for the Seattle shortstop, who has never hit more than four in a season.
Until the solo shots chased Dempster, the veteran righty had baffled the Mariners. He allowed just four hits prior to the seventh -- two coming from Michael Saunders -- and ended with eight strikeouts and just one walk in 6 2/3 innings.
"Dempster was really good, he kept us off balance all day long," Wedge said. "I mean, veteran pitcher, he knows how to get big league hitters out."