C.J. Wilson pitched six scoreless innings against his former teammates, Alberto Callaspo singled home the go-ahead run in the seventh and the surging Angels held off Texas 3-2 Saturday night to pull within 3 1/2 games of the AL West-leading Rangers.
Bobby Cassevah (1-0) got two outs for the victory, Los Angeles' 10th in 11 games. Frieri, the fifth Angels pitcher, worked 1 1/3 innings for his fourth save in four chances after the Rangers scored an unearned run in the eighth against Scott Downs.
Frieri ended it by striking out Hamilton with the bases loaded after an 11-pitch walk to Ian Kinsler and a throwing error by Gold Glove shortstop Erick Aybar on a routine grounder by Elvis Andrus kept the inning alive.
"That was awesome. I can't believe that I struck him out," Frieri said. "He's a good fastball hitter, but I made a really good pitch to him, a fastball up in the zone. I wasn't trying to strike him out -- just get out of that tough inning. They have so many good hitters in that lineup. That was an amazing at-bat by Kinsler."
The Rangers have lost four straight for the first time since a five-game stretch last June, which was their longest skid of 2011. Manager Ron Washington held a closed-door meeting after the game to air out his concerns.
"You'll see tomorrow if I made a difference," Washington said. "So much happened out there that was totally uncharacteristic of what we are, and it just opened up opportunities for the Angels to get some runs on the board. Yu Darvish did a heck of a job out there tonight, and we didn't support him because we didn't make the plays. It was a very ugly performance."
Aybar, robbed of a home run by center fielder Craig Gentry in the third, led off the Angels' two-run seventh with a bunt single and stole second with one out. Andrus fielded Mike Trout's grounder to shortstop with Aybar cutting in front of him and immediately started motioning to the umpires that the ball grazed Aybar -- instead of making the throw to first.
The speedy Trout was credited with a hit, and Washington came out for a brief discussion with second base ump Ted Barrett and third base partner Marvin Hudson before play resumed. Callaspo then lined a single to right over a drawn-in infield to regain the lead for the Angels.
Darvish (7-3) walked Albert Pujols, and Kendrys Morales followed with a sacrifice fly against Koji Uehara. Right fielder Nelson Cruz's throw home was on target, and Yorvit Torrealba tagged Trout as he slid in. But umpire Tim McClelland called him safe and Torrealba was ejected after throwing a tantrum.
Washington joined the argument, and Torrealba resumed his position behind the plate -- not realizing that he had been tossed. Once he finally got the message, he threw another tantrum before heading to the dugout.
"I thought he was definitely out. I thought the throw beat him and I know I tagged him," Torrealba said. "I was trying to block the plate, but I don't think he was in the right position to tell if he was out or safe. Obviously it happened so fast. I'm an emotional player, and I went off.
"I didn't really say anything bad, but I got tossed because I threw my mask down. That's what he said. I was frustrated because he missed the call. I went back behind the plate because I knew I didn't say anything bad to him. I was like: `No way! No way! You missed the call!' I didn't know I was ejected until I threw the ball to Elvis and (McClelland) said: `You've got to go.' Then Ron told me: `Yeah, you have to go."
Darvish was charged with three runs -- two earned -- and five hits over 6 1/3 innings. He struck out seven, walked three and escaped a bases-loaded jam in the fourth.
"He's got great stuff," Trout said. "He's got a bunch of pitches, so you can't just sit on one. It was definitely better this time because we already saw him in Texas. He was battling just like we were. You just try not to miss your pitch."
Pujols led off the sixth with a popup that first baseman Mike Napoli misjudged with the wind blowing out toward right field, and it fell behind him for a two-base error as Pujols slid under the tag of second baseman Kinsler.
"I just screwed it up, basically," Napoli said. "I kind of drifted back, rather than running to a spot, and I turned around too early."
Pujols stole third as Morales struck out, then scored the game's first run when three-time Gold Glove third baseman Adrian Beltre fielded Mark Trumbo's grounder, thought about throwing home and dropped the ball before recovering too late to get the runner at first. Trumbo was credited with an RBI.
The Rangers tied it in the seventh after loading the bases with none out against Jordan Walden. Michael Young was erased at the plate on a fielder's choice grounder to third baseman Callaspo, who nearly threw the ball away and was bailed out by Bobby Wilson's diving grab with one foot on the plate. Cassevah relieved Walden and gave up pinch-hitter David Murphy's sacrifice fly.
C.J. Wilson threw 104 pitches, allowing five hits and striking out five -- including Beltre his first three times up. The left-hander, who signed a five-year, $77.5 million contract with the Angels in December after helping pitch the Rangers to consecutive AL pennants, has allowed one run in 20 innings over his last three starts.
After grounding into three double plays for the first time this season during Friday night's 4-2 loss, the Rangers matched that total in the first three innings. Torrealba's double play ended the second after a double by Cruz and a walk to Napoli. The Angels executed another double play in the fourth when Cruz struck out and Bobby Wilson threw out Young trying to steal second.
Gentry, who has shared center-field duties with Hamilton, timed his leap perfectly on Aybar's towering fly to left-center and reached over the 8-foot fence to grab it.
The Rangers' pitching staff has given up 30 unearned runs, tying San Francisco for the most in the majors -- and 27 of them have come since May 1. ... Beltre had to bail out of the on-deck circle in the eighth when Hamilton struck out against Downs and his bat went flying out of his hands.