Harrison (17-9) turned in his longest outing since July 15, yielding six hits while issuing just one walk and striking out five.
The left-hander fired 80 of his 119 pitches for strikes as the American League West-leading Rangers took two of three from the Mariners.
Beltre's solo shot in the fourth inning put Texas ahead to stay and Mitch Moreland added an RBI double in the next frame.
Blake Beavan (9-10) was saddled with the hard-luck loss, surrendering two runs on seven hits in seven innings.
Justin Smoak belted a solo homer in the eighth for the Mariners.
'How to Train Your Dragon 2' releases 5-minute clip
Moore to attend retreat in to avoid Kutcher's wedding