Derek Holland (11-6) limited the Angels to two runs on six hits in seven innings and all the Texas runs came on extra-base hits.
The Rangers boosted their lead over Oakland to four games in the American League West after the A's lost earlier in the evening to Detroit. Both Texas and Oakland have 13 games yet to play and seven of their last 10 contests will be against each other.
Alberto Callaspo rallied the Angels to within one on a two-run homer in the fifth, but Nelson Cruz doubled home a run for Texas in the eighth and Soto followed later in the inning with his 10th home run of the year.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'