ANAHEIM, Calif. -- Garrett Richards' case for selection to the All-Star team got a little stronger Friday night at Angel Stadium, as the Los Angeles Angels right-hander stifled the Texas Rangers offense in a 7-3 victory.

Richards (7-2) gave up one run on four hits through six innings to earn the win and lower his ERA to 2.79. He struck out seven but also walked three, which contributed to a career-high pitch count of 119.

Richards got support from the Angels offense, which had 11 hits off Rangers starter Joe Saunders and reliever Ben Rowen. Right fielder Collin Cowgill, left fielder Josh Hamilton, third baseman David Freese and designated hitter C.J. Cron each had two hits. Cron also hit a home run.

For Richards, the win was his third in a row, coming in four starts since the worst outing of his career. He gave up five runs in two-thirds of an inning against Oakland on May 30. Since then, he is 3-0 with a 0.67 ERA (two earned runs in 27 innings) in four starts, allowing exactly four hits in all four.

"That was a bump in the road," Richards said of the Oakland game. "It was not something that was going to derail me."

The only run he gave up Friday came on a two-out RBI single by shortstop Elvis Andrus in the third inning. In fact, Richards has allowed one run or fewer in more than half of his starts (eight of 15), and is putting up numbers overall that will be considered when it is time to choose the American League All-Star team.

"Obviously I want to be there, but it's out of my control. I can only control what I do every fifth day," he said. "Hopefully I continue to do what I'm doing and get a bid to go."

Rangers manager Ron Washington was reluctantly complimentary of Richards, with Washington saying he was "effectively wild."

"Throw balls all over the place, make a pitch," Washington said. "Throw balls all over the place, drop a curveball on you. Throw balls all over the place, hit the inside part of the plate, down. Throw balls all over the place, hit the outside corner, down.

"This guy has a tremendous arm. We got him to 120 pitches. Sometimes when you have that type of stuff, you get guys to swing at pitches they wouldn't normally swing at, because you don't have a whole lot of time to react."

Down 1-0, the Angels tied it on Cron's homer in the bottom of the third, and opened up a big lead with three runs in both the fourth and fifth innings.

The ex-Angel Saunders (0-3) gave up seven runs (four earned) on 10 hits in 4 2/3 innings.

Saunders particularly was hurt by his defense in the fourth inning, when a throwing error by first baseman Brad Snyder on a play at the plate ultimately resulted in three unearned runs.

"I just think he panicked," Washington said of Snyder. "He had the guy at the plate easily and I just think he tried to get it to the plate, instead of just getting it to the plate with intent. He's not used to throwing the ball that short, those are wrist throws. He's an outfielder. There's a lot of things he has to learn over there."

The Angels added three more runs in the fifth, getting RBI singles from Hamilton, shortstop Erick Aybar and Freese for a 7-1 lead.

"I thought he did a good job for four innings," Washington said of Saunders. "Just the fifth inning, he lost his command, he couldn't find the strike zone."

NOTES: The Angels recalled INF Grant Green from Triple-A Salt Lake. Green hit .359 in 22 games with Los Angeles before being sent down on June 7 to make room for a pitcher. RHP Dane De La Rosa was optioned to Salt Lake to make room for Green. ... Including Friday's game, Rangers pitchers have allowed 10 or more hits in six consecutive games. ... Angels CF Mike Trout went 0-for-3 with a walk, ending his hitting streak at 13 games. ... Angels 1B Albert Pujols left the game after five innings because of a stiff back, but it wasn't considered serious.