ANAHEIM, Calif. -- After issuing no walks in the first 6 1/3 innings, Houston pitchers Wandy Rodriguez and Dave Borkowski allowed four in the seventh. Then, Vladimir Guerrero hit one of the few strikes the Astros threw in the inning a long, long way.
Guerrero's three-run homer capped a six-run rally, and was the only hit in the decisive inning of the Angels' 8-4 victory over the Astros on Wednesday night.
"We definitely had some great at-bats -- some guys laid off some close pitches," Angels manager Mike Scioscia said. "Plate discipline has been important to us in the last four to six weeks."
The Angels' 46-27 start is the best in franchise history. They've gotten there by winning eight straight series and 12 of their last 13.
Rodriguez took a five-hitter and a 4-2 lead into the seventh, and retired the first batter before Howie Kendrick reached on shortstop Eric Bruntlett's throwing error. Rodriguez then walked Mike Napoli and was pulled from the game.
Orlando Cabrera's sacrifice fly drove in the go-ahead run before Guerrero hit a 1-0 pitch over the left-center fence for his 13th homer this season.
"It was a slider right down the middle," Guerrero said through a translator. "I think the key was Cabrera's at-bat -- it put us ahead."
Astros manager Phil Garner said he was "totally surprised" by Borkowski's wildness.
"He just had a really hard time finding the plate and couldn't throw a strike," Garner said. "He finally threw a strike - to the wrong guy."
Borkowski said his performance was embarrassing.
"I walk the first three guys and can't throw a strike," he said. "Wandy pitched a great game for us, and I go out there and just give it right up. It's frustrating, I don't know how else to describe it."
Hector Carrasco (2-1) earned the win, retiring his only batter. Scot Shields allowed three hits in the eighth, but struck out Bruntlett and Craig Biggio with the bases loaded to work out of trouble. Francisco Rodriguez pitched a perfect ninth, striking out two, to seal Los Angeles' sixth victory in eight games.
The Astros lost despite outhitting the AL West leaders 12-7. Houston has collected 11 or more hits in a franchise-record eight straight games, and entered having scored nine or more runs in four consecutive games -- three of them wins.
Rookie Hunter Pence had three hits to give him 10 in the last four games, and three RBI to give him eight in the last five.
Pence hit his seventh homer in the first off Ervin Santana, and the Astros scored twice in the second to make it 3-0 on four singles, including run-scoring hits by Pence and Lance Berkman.
Evans hit a two-run homer in the bottom of the second for his first big league hit in his second at-bat, cutting Houston's lead to 3-2.
"I was thinking in the outfield, `I have this to remember the rest of my life,"' Evans said. "And my dad got to see it. To come back and win like that, it's just the perfect night."
Evans' father lives in Dublin, Ga. After finding out Evans was recalled late Saturday, the elder Evans drove to Atlanta and caught a plane that arrived in Los Angeles before Sunday's game at Dodger Stadium. Evans said his father will probably return home this weekend.
Pence's two-out RBI single in the fourth after Biggio hit into a forceout and stole second extended the Astros' lead to 4-2.
Santana allowed nine hits and four runs in 6 2/3 innings. Wandy Rodriguez gave up five hits and four runs, three earned, in 6 1/3 innings.
- The Angels recalled LHP Joe Saunders from Triple-A Salt Lake after the game, and said he'll pitch Friday night against Pittsburgh. RHP Jered Weaver, bothered by a bruised shoulder, had his next start pushed back until early next week.
- Astros reliever Chad Qualls was suspended for three games and fined $3,000 for throwing a baseball into the stands at Angel Stadium in frustration Monday night. He asked the players' union to appeal the penalty, meaning he cannot be disciplined until after a hearing is held and the appeal is decided.
- Houston 3B Mike Lamb, who entered 15-for-24 during a six-game hitting streak, went 1-for-4.
- Guerrero's homer was his first since June 3.
- Biggio went hitless in five at-bats, leaving him with 2,992 hits in his career. The stolen base was his third of the season and the 413th of his career.