Harang (5-8) surrendered just one run on four hits, walking one and striking out two. The right-hander won for the second time in three starts, tossing 67-of-99 pitches for strikes.
Charlie Furbush hurled a 1-2-3 eighth and Tom Wilhelmsen survived a shaky ninth for his 22nd save as the Mariners continued the longest active winning streak in the major leagues.
Kendrys Morales and Mike Zunino each pounded a solo homer, providing Seattle's offense.
Indians starter Ubaldo Jimenez (7-5) absorbed the hard-luck loss after yielding a pair of runs on five hits over 5 2/3 frames.
Nick Swisher homered for Cleveland, which fell 2 1/2 games behind American League Central-leading Detroit with the setback.