ANAHEIM, Calif. -- Trevor Cahill overcame back stiffness to throw a gem against one of baseball's best offenses.
Cahill and two relievers combined on a three-hitter and Ryan Sweeney came within a double of hitting for the cycle, leading the Oakland Athletics to a 2-0 victory over the Los Angeles Angels on Thursday night.
"It was kind of a strange start, where he threw so many balls in a row that you thought there was something wrong with him," Oakland manager Bob Geren said. "He finished the first inning with six strikes and 12 balls. He got out of it without any scoring, which is not a good recipe to follow. But after that, he was sensational."
Cahill (7-12) walked his first two batters before picking off Chone Figgins at second base.
"Early on, Cahill was having trouble finding the zone, but I think we let him off the hook in the first inning," Angels manager Mike Scioscia said. "As the game went on, he got much better at first-pitch strikes. He's got a good slider with good action, and we didn't square too many balls up on him."
Sweeney, who came in 4 for 9 lifetime against Angels starter Ervin Santana, homered, singled and tripled in his three at-bats against the right-hander to help the A's recover from a three-game sweep at Seattle.
Cahill held the AL West leaders to a two-out single by Vladimir Guerrero in the fourth inning and a leadoff double by Jeff Mathis in the sixth. The Angels came in leading the majors with a .290 team batting average.
"The young guy has good stuff," Angels outfielder Torii Hunter said. "He had the slider, the changeup and his two-seamer moving both ways. Half the time when we swung the bat, we hit it on the ground. We couldn't get anything going offensively. Santana pitched a pretty good game for us, but we couldn't score any runs."
Cahill, who already has set an Oakland rookie record by allowing 25 home runs, hasn't given one up in 27 innings over his last four starts.
"When he was giving up the homers, he was getting balls up over the middle of the plate," Geren said. "Now he's just been more consistent down in the zone and he's pounding the lefties in better than he had earlier in the year. So they can't lean out over the plate and take the outer half away from him because he's pitching better inside."
Cahill was 0-10 in 18 previous starts this season in which he received three runs of support or less while he was in the game. But the 21-year-old right-hander was able to overcome it this time, allowing only one baserunner past second in seven innings.
"I was just able to keep my sinker down and keep them off-balance with my changeup," said Cahill, who came out after his back tightened up. "Keeping the ball down is the biggest key for me."
Santana (7-7) allowed two runs and eight hits over six innings and struck out six, after winning each of his previous four starts. Sweeney hit his sixth homer with one out in the second and Daric Barton had a one-out RBI single in sixth against the right-hander, who came in 10-1 lifetime against Oakland.
"Ervin was terrific," Scioscia said. "His last three starts, everything's been consistent -- his velocity and the break on his slider. He pitched a strong ballgame, the kind of game that a lot of times we're going to win. But we just couldn't do anything offensively tonight."
The opener of this four-game series had been rescheduled from April 9, when Angels rookie Nick Adenhart was killed along with two friends in an early morning car crash caused by a drunken driver just hours after he pitched six scoreless innings in a no-decision against the Athletics. Last Monday would have been Adenhart's 23rd birthday.
The Angels lead the majors with 32 bunt hits. ... The Angels inducted LHP Chuck Finley and C-OF Brian Downing into their Hall of Fame, increasing the total membership to eight. ... The Angels' uniformed personnel and front office staff assembled in center field before batting practice for the 2009 team photo, but RHP Jered Weaver missed because he was home with the flu. So PR guy Eric Kay stood in wearing Weaver's No. 36 jersey, and the pitcher's head will be superimposed when it is printed.