Hamilton, slowed this season by shoulder surgery, was 0 for 3 with two strikeouts and a walk, and scored a run.
The 2010 AL MVP came up with runners on first and second and two outs in the seventh inning with the score 8-all. He hit an easy tapper back to pitcher Zach McAllister, whose throw was well over the head of first baseman Carlos Santana for a two-base error.
Hamilton was traded from the Angels back to Texas in late April.
The Indians had won six in a row.
Prince Fielder hit his fourth home run in four games for the Rangers. He hit an RBI single that tied it earlier in the seventh.
Hamilton struck out in his first at-bat on four pitches. He walked on a 3-2 pitch to load the bases in the third when Texas scored four times to take a 7-5 lead. Hamilton struck out again in the fifth.
Hamilton, who finished a minor league rehab assignment on Saturday, batted fifth and started the game in left field. He was moved to right in the ninth inning.
Tanner Scheppers (1-0) pitched 1 1/3 innings for the Rangers, who arrived in Cleveland at 4 a.m. after completing a three-game sweep in Yankee Stadium on Sunday night.
Shawn Tolleson pitched the ninth for his fourth save.
Marc Rzepczynski (1-2) also committed a throwing error in the seventh.
Fielder and Adrian Beltre hit back-to-back home runs in first as Texas took a 3-0 lead.
Rangers: Texas placed RHP Neftali Feliz on the 15-day disabled list. The right-hander has an abscess on his right side and had surgery in New York on Saturday. Feliz is 1-2 with a 5.09 ERA and six saves.
Indians: C Yan Gomes wasn't in the lineup after playing for the first time Sunday since spraining his right knee April 11. Manager Terry Francona said Gomes will catch every other day for a week or two and could also be used at DH.
Rangers: LHP Wandy Rodriguez allowed five runs and eight hits, both season highs, in an 8-3 loss to the Indians on May 15 in Texas.
Indians: RHP Danny Salazar was rocked against the Rangers on May 16 in Texas, allowing seven runs, including two homers in a short stint. He ended up with a no-decision in Cleveland's 10-8 win.