With the score tied 1-1, Kyle Seager doubled with one out in the eighth against Vinny Pestano (3-1) and John Jaso was intentionally walked.
After Jesus Montero struck out, Thames lashed a pitch into the left-field corner to score both runners and the Mariners went on to sweep their three-game series against the Indians.
Michael Saunders added a solo homer in the Mariners' eighth straight at home.
The late runs made a winner of Stephen Pryor (3-0), who wiggled out of a two-on, one-out jam in the eighth, while Tom Wilhelmsen picked up his 19th save.
Casey Kotchman had an RBI single for the Tribe, who lost for the 18th time in 19 road games.