ARLINGTON, Texas -- Right fielder Kole Calhoun went 3-for-4, including a three-run home run for the Los Angeles Angels, who held off a late Texas rally for a 5-4 victory over the Rangers on Friday.

Calhoun's 13th home run broke a 1-1 tie in the fifth and third baseman David Freese scored the winning run in the seventh on a fielder's choice to make a winner out of right-handed pitcher Garrett Richards (13-4).

Richards struck out seven while giving up two runs and walking none over 7 1/3 innings.

Right-hander Huston Street earned his 31st save -- and eighth since joining the Angels by trade last month -- by pitching a scoreless ninth inning to end the hopes of the Rangers, who cut into a four-run deficit by scoring three in the eighth.

Center fielder Mike Trout had a sacrifice fly for Los Angeles (71-49), which moved to within one game of Oakland in the American League West. Freese extended his hitting streak to 11 games with two hits and two runs scored.

Angels catcher Chris Iannetta went 3-for-3.

Texas right-hander Nick Martinez (2-9) took the loss, giving up four runs on six hits and walk over six innings. He struck out six, including Los Angeles left fielder Josh Hamilton three times.

Hamilton, who went 1-for-5, struck out a fourth time, with the bases loaded in the ninth.

Third baseman Adrian Beltre went 4-for-4 with an RBI single in the first and another in the Rangers' three-run eighth.

Texas (47-75) dropped nine of its last 10 games against the Angels. Los Angeles has won eight straight in Texas, including a four-game sweep July 10-13.

Richards is 4-0 with a 2.06 ERA and improved to 8-2 with a league-leading 1.94 ERA in 14 road starts in 2014.

Right-hander Kevin Jepsen relieved Richards with one out in the eighth and Texas designated hitter Shin-Soo Choo on first.

Texas followed Choo's base hit with three more, including run-scoring base hits from first baseman Mike Carp and Beltre. Right fielder Alex Rios accounted for Texas' fourth run with a fielder's choice that scored Carp.

Right-handed reliever Joe Smith induced a 6-4 fielder's choice to get Los Angeles out of the inning.

By retiring the side in order in the bottom of the ninth, Street has 11 scoreless appearances since joining Los Angeles in a trade from the Padres on July 18. For the season, he has not allowed a run in 41 of 44 appearances.

Trout's sacrifice fly accounted for the Angels' first run, which tied the score in the third inning. Martinez worked around a two-out walk and a runner at third by striking out Hamilton.

Los Angeles didn't let him off the hook in the fifth inning.

Freese and Iannetta led off with consecutive singles before Calhoun's three-run blast to right field.

Richards allowed Beltre's run-scoring single in the first inning but erased a Texas base runner on a double play in the second and left another stranded at third in the fourth.

NOTES: Texas optioned LHP Robbie Ross Jr. to Triple-A Round Rock and called up RHP Jon Edwards. ... The Rangers traded minor league RHP Justin Germano to the Los Angeles Dodgers for future considerations. Germano, who made two relief appearances early in the season for Texas, was 4-13 in 21 starts for Triple-A Round Rock. ... Angels RHP Mike Morin (left foot laceration) will be activated Saturday barring any unforeseen circumstances, manager Mike Scioscia said.