Rays closer Fernando Rodney (2-2) -- who had converted 22 straight save opportunities -- came on in the ninth to preserve a 2-1 lead but gave up a leadoff single to Kyle Seager. Figgins, pinch-hitting for Casper Wells, laid down a sacrifice bunt but Carlos Pena's throw to first was wild and Figgins wound up on second while Seager went to third.
Justin Smoak cashed in on the mistake, driving in Seager with a sacrifice fly. Figgins took third on the play and then scored the game winner when Thames singled to center, handing the Rays their first loss in their last eight games.
Rodney had not blown a save since May 26.
Stephen Pryor (2-0) picked up the win in relief. Seattle starter Kevin Millwood went seven innings, allowing two runs on eight hits with one walk and eight strikeouts.
Seattle has won three out of four following a five-game losing streak.