Mark Teixeira added two hits and an RBI for the Rangers.
Luis Lopez had a pair of doubles for the Orioles, who have now lost 12 games in a row.
Reliever B.J. Ryan (3-5) took the loss after pitching the deciding seventh inning.
Baltimore's Rodrigo Lopez gave up three runs on five hits and a walk in six innings. Texas' Kenny Rogers matched Lopez through 6 2/3 innings. He allowed three runs on six hits, walked three and struck out eight.
Miguel Tejada hit his 26th home run of the year.