Once again, Fausto Carmona pitched well enough to win. Unfortunately for him, Dan Haren did even better.

Haren threw a one-hitter, allowing only Shin-Soo Choo's clean single in the fourth inning, and the Los Angeles Angels beat Cleveland 2-0 Tuesday night to snap the Indians' eight-game winning streak.

"Haren was on his game. He was in complete command of the ballgame from inning one," Indians manager Manny Acta said. "It was just an outstanding pitching performance. I thought Fausto did a tremendous job, too. He did everything you could ask for — go deep in the game and give your team a chance. He only allowed two runs."

The Indians' winning streak was their longest since a 10-game string in August 2008. Cleveland is off to a surprising 8-3 start despite the defeat.

"That's baseball. Sometimes you're going to run into a guy who has a performance like that," Indians designated hitter Travis Hafner said after going 0 for 3 with a strikeout. "He was throwing four pitches and locating all of them and changing speeds. He was throwing a lot of offspeed stuff for strikes, and nothing was really in the middle of the plate."

Carmona gave up four hits in 7 2-3 innings. The right-hander struck out six and walked three, but gave up home runs to Peter Bourjos and Mark Trumbo.

It was the second strong start in a row for Carmona, having pitched seven shutout innings in a no-decision against Boston the last time out. Much better than opening day, when he surrendered 10 runs and 11 hits in just three innings against the Chicago White Sox.

"Fausto threw the ball great tonight," Hafner said. "It's good to see. That's two really good outings in a row for him, so it looks like he's back on track and he should have a great season."

Haren (3-0) struck out eight and walked two in his third major league shutout. Choo's single to center field came with one out in the fourth.

The righty threw 125 pitches in his 12th complete game in 225 career starts. Haren was never in trouble and helped himself. After Orlando Cabrera reached on an error by Angels third baseman Alberto Callaspo, he was caught stealing when he took a big lead and broke for second before Haren went into his motion.

"I was going at them pretty much the whole night," Haren said. "I was pitching with a controlled aggressiveness. It was such a close game, I didn't want to leave anything out over the plate — but I didn't want to get burned with walks, either."

Haren's third start of the season was pushed back a day after he threw 13 pitches in a perfect 14th inning on Saturday night against Toronto and got credit for the Angels' 6-5 victory. That relief appearance ended his string of 203 consecutive starts.

"He just told me he's ready for the 'pen on Friday if we need him," manager Mike Scioscia said with a grin. "But hopefully, we're past those days."

After giving up a leadoff single to his first batter, Carmona allowed only one other ball to be hit out of the infield through the fifth inning — a leadoff homer in the third by Bourjos that landed in the lower seats in the left-field corner.

In the seventh, Trumbo hit a drive just inside the left-field pole for his first big league home run. All but one of the Angels' 14 homers this season have come with the bases empty.

Angels left fielder Vernon Wells, acquired in a trade from Toronto in January, got the day off after going 4 for 44 over his first 10 games with his new club. In his previous five seasons with the Blue Jays, the 13-year veteran and three-time All-Star had a cumulative average of .332 in his first 10 games.

NOTES: A ceremonial first pitch was thrown by Jim Fregosi, a six-time All-Star shortstop with the Angels who managed the team to its first AL West title in 1979. ... The Angels recalled OF Reggie Willits from Triple-A Salt Lake and optioned OF Chris Pettit to their Pacific Coast League club. ... Hafner is batting .201 with eight homers, 29 RBIs and 52 strikeouts in 47 games against the Angels since hitting a career-high three homers against them on July 20, 2004, at Anaheim.