Angels 3, Rangers 2: Alberto Callaspo had two hits and singled home the go-ahead run in the seventh inning as streaking Los Angeles beat visiting Texas and Yu Darvish.
Kendrys Morales provided a big insurance run with a sacrifice fly in the inning as the Angels improved to 10-1 in their last 11 games and pulled within 3 1/2 games of the front-running Rangers in the American League West.
Rookie Ernesto Frieri got the final four outs and worked out of a bases-loaded jam in the ninth to nail down his fourth save and hand Texas its season-high fourth straight loss.
Darvish (7-3) was charged with three runs - two earned - on five hits in 6 1/3 innings and was denied in his bid to become the first eight-game winner in the AL. He struck out seven and walked three.
Bobby Cassevah (1-0), the third of five Angels pitchers, worked two-thirds of an inning for the win.
Los Angeles starter C.J. Wilson pitched six scoreless innings, allowing five hits and walking three, and was helped out by four double plays turned behind him.
The Angels played small ball to go ahead with two runs in the seventh. Erick Aybar and rookie Mike Trout each reached on infield singles and stole a base before Callaspo singled home the go-ahead run off Darvish.
Morales greeted reliever Koji Uehara with a sacrifice fly that plated Trout on a close play at the plate for a 3-1 lead.
Michael Young and Nelson Cruz had two hits apiece for the Rangers, who scored their first run on a pinch-hit sacrifice fly by David Murphy.
GAME NOTEBOOK: Frieri allowed his first hit in 14 appearances since joining Los Angeles in a trade with San Diego. ... Texas C Yorvit Torrealba was ejected in the seventh inning after Mike Trout was ruled to beat his tag on a strong throw from Nelson Cruz. ... Trout has an extra-base hit in five straight games. ... The Rangers are tied with San Francisco for the major league lead with 30 unearned runs allowed, including seven in the last four games. ... In his last three starts, Wilson has given up one run and eight hits in 20 innings. ... Roy Oswalt, signed to a one-year deal by Texas last week, pitched two scoreless innings at Triple-A Round Rock on Saturday. Oswalt threw 34 pitches and worked out of a bases-loaded, no-out jam in the first inning.