ANAHEIM, Calif. (AP) The moment of truth for Sonny Gray came in the third inning with the bases loaded and one out. He passed that test against the meat of the Los Angeles Angels' lineup, and they couldn't touch him after that.
Gray outpitched Jered Weaver with seven innings of two-hit ball, and Billy Butler homered during a five-run seventh inning that carried the Oakland Athletics to a 9-2 victory over the defending AL West champions on Wednesday night.
''Sonny was great. For the most part, he's basically pitched the same game every time this year,'' manager Bob Melvin said. ''He gets a strikeout when he needs one, gets the ball on the ground when he needs it, and his competitiveness shows up every time. He kicks it into another gear. And tonight he did it against some pretty tough customers.''
The score was tied 1-all in the third when the Angels got a single by Johnny Giavotella and two walks. But Gray (2-0) struck out Albert Pujols on a slider in the dirt and got David Freese to pop up on a fastball.
''It was big to get out of that inning, facing the heart of their order,'' Gray said. ''Getting Pujols to strike out was huge. I started throwing heaters in, and Pujols hit a couple of balls hard but foul. Then I threw a couple of good sliders and get him out in front of the ball to get a ground ball. With Freese, we went hard in and got him to jam himself just a little bit.''
Pujols is now 1 for 16 lifetime against Gray, who struck out seven and retired his last 14 batters. The right-hander faced the Angels in three of his final eight starts last season, going at least seven innings each time.
''I want to go deep every time, whether the bullpen's fresh of not,'' he said. ''I knew going in that the bullpen might be a little short tonight, but I don't think there was any more of an emphasis on it. It's just something I really want to do every time.''
Eric Sogard greeted Fernando Salas (0-1) with a leadoff single in the seventh, stole second and advanced on Marcus Semien's sacrifice bunt before Stephen Vogt delivered the go-ahead run with a single through the right side off Cesar Ramos with one out and runners at the corners.
Vinnie Pestano came in to relieve and threw a wild pitch to Butler that allowed Sam Fuld to score. Butler drove a 3-1 pitch to center field for his 14th career homer against the Angels, and Brett Lawrie's run-scoring infield hit capped the rally.
The A's tacked on three more runs in the eighth and finished with 18 hits. They have outscored their opponents 62-5 in their eight victories, and have been outscored 56-21 in their eight losses - including a 14-1 drubbing Tuesday night.
Oakland stole three more bases, making the A's 10 for 10 over their last eight games - after playing their first eight games without attempting a stolen base.
Weaver threw 25 of his 93 pitches in the first inning and was done after six, allowing a run and eight hits with three strikeouts and no walks. The three-time All-Star, who won 18 games last year, is 0-2 in four starts with a 5.24 ERA. It's the first time in Weaver's 10 big league seasons that he was winless in his first four outings.
''I'm still trying to find my way, and it's getting better each and every time,'' Weaver said. ''Tonight I had to battle all game and get out of some situations, so it might have taken a little bit out of me.
''I still felt like I wanted to go out there for the seventh, but it's Mike Scioscia's decision. That's what he wanted to do, and I'm more than happy to hand it over to the bullpen because we've got some great arms down there. I've just got to prove to him that I can get deeper in games.''
Athletics: CF Coco Crisp, recovering from arthroscopic elbow surgery, took dry swings from both sides of the plate. ... 2B/OF Ben Zobrist missed his third straight game because of an injured left knee.
Angels: LHP C.J. Wilson, Thursday's scheduled starter, was pushed back to Saturday night against Texas because of elbow stiffness. ... Manager Mike Scioscia pulled back slightly from his statement on Tuesday that injured LF Josh Hamilton would begin extended spring training in Arizona during the weekend. ''I was probably commenting a little bit more on the aggressive side of what the window could be, and it might not happen in that timetable. But there's really no confusion,'' Scioscia said. ''I think the timetable for him to get to Arizona is really fluid. I don't think there are any mixed messages.''
Athletics: RHP Jesse Chavez (0-0) will start the series finale instead of RHP Jesse Hahn, who is being skipped one turn in the rotation because of a blister on his middle finger.
Angels: RHP Nick Tropeano will make his season debut on Thursday, after getting recalled from Triple-A Salt Lake when Matt Shoemaker was placed on the bereavement list due to the death of his grandfather.