ANAHEIM, Calif. -- Bud Norris never started a game against Los Angeles prior to this season. After three outings this year, the Angels have seen more than enough of the Houston Astros' right-hander.

Norris dominated the Angels' high-priced lineup again with six innings of four-hit ball and Chris Carter hit a two-run homer in the seventh against Jerome Williams, leading the Astros to a 2-0 victory on Saturday night.

"They're a great ballclub over there. You know who's in that lineup, and you know you've got to make good pitches," Norris said. "So the only way to play it is to just take the challenge."

Norris (5-4) struck out six, walked three and escaped a bases-loaded jam in the sixth to end a three-start winless stretch that includes a six-inning scoreless outing against Kansas City that resulted in a no-decision.

"Every time he pitches against us he's got his 'A' stuff," Angels center fielder Mike Trout said. "He was hitting his spots early and locating, and his secondary pitches were good. It was one of those nights. We see him good. I mean, we hit a couple of balls hard and had our opportunities, but it just didn't go our way tonight."

Norris became the first starting pitcher to beat the Angels three times before the All-Star break since 2001, when Oakland's Tim Hudson, Seattle's Freddy Garcia and Texas' Darren Oliver all did it. On April 12 at the "Big A," Norris allowed three hits over seven innings in a 5-0 victory. On May 8, he gave up a run and nine hits through eight innings en route to a 3-1 decision at Houston.

"I'm sure they're going to figure out some things about me soon" he said. "But I've got to stick to my strengths and keep doing what I'm doing because it's been working so far."

Rookie Jose Cisnero pitched two innings and Jose Veras got three outs for his 10th save in 13 attempts, helping extend Houston's winning streak to a season-high four games. It's their longest since a four-game stretch May last year.

"This group has come together," Norris said. "Day in and day out, these guys are picking each other up -- from the bullpen to the bench players -- and the coaching staff has pushed that out of us. Everybody is picking up their end of the bargain, and it's been pretty good to see."

Williams (4-2) held Houston to just three hits over seven innings and struck out six, after going 3-0 with a 2.03 ERA in his previous four starts.

Carlos Pena, the only Houston player to have batted against Williams in a regular-season game prior to Saturday, led off the Astros' second with a double and was stranded at third when Matt Dominguez flied out. The Astros didn't get another hit until the seventh, when J.D. Martinez singled with one out and Carter drove a first-pitch homer into the upper tier of the left field bullpen with two out for his 11th homer.

"I played with him a few years ago in Triple-A, so I know he pretty much throws anything and everything," Carter said. "My first two at-bats he threw cutters and two-seamers and kept me off-balance. The next time I came up with the approach that anything that was up in the zone I was going to swing at."

Trout doubled in the first, but was stranded as Albert Pujols took a called third strike and Mark Trumbo also struck out. Trout doubled again with one out in the sixth, and was picked off by Norris with a 1-0 count on Pujols.

The Angels then loaded the bases with walks to Pujols and Trumbo and an infield hit by Josh Hamilton. But Norris struck out Howie Kendrick, who is batting .227 lifetime in those situations and is 1 for 7 this season.

"We've seen enough of him," manager Mike Scioscia said of Norris. "It seems every time we see him he still is able to use that breaking ball when he needs it, and tonight his velocity was good. We just didn't hit too many balls hard off him. We had a couple infield hits, but he got tough with guys in scoring position."

Trout had a chance to get the Angels back in the game in the seventh, but grounded out to third with two men on after Erick Aybar kept the inning alive with a bunt single. He came up again in the ninth with runners at the corners and grounded into a force play to end it.

Trout has only three RBIs in 45 at-bats over his last 11 games since May 21, when he drove in five runs against Seattle and became the youngest player in AL history to hit for the cycle.

Game notes
Norris is the first pitcher to get three victories against the Angels in their first 56 games of a season since May 1968, when Minnesota reliever Ron Perranoski was the pitcher of record three times in a four-day span. ... Five of Houston's 19 victories have come against the Angels. ... Angels OF Peter Bourjos, sidelined since April 30 because of a left hamstring strain, is scheduled to begin a minor league rehab assignment on Monday with Class-A Inland Empire before switching to Triple-A Salt Lake. ... Norris has made 177 starts in professional ball without pitching a complete game, including 109 in the big leagues.