ANAHEIM, Calif. -- When a pitcher is backed by an outfield playing the way the Oakland Athletics' outfield is playing, it is a lot easier to be aggressive and throw strikes.

At least, that was the philosophy A's left-hander Tommy Milone carried with him to the mound Wednesday, and his faith paid off. Milone gave up one run in 6 2/3 innings, Stephen Vogt hit a key home run, and the A's beat the Los Angeles Angels 7-1 at Angel Stadium.

The first-place A's avoided a sweep and moved 3 1/2 games ahead of the second-place Angels in the American League West.

The game also featured another highlight-reel throw from A's left fielder Yoenis Cespedes.

Angels first baseman Albert Pujols hit a ball into the left field corner in the sixth inning for an apparent double. Cespedes, just as he did before making a remarkable throw Tuesday, had trouble fielding the ball. Pujols tried to take the extra base, but Cespedes came up throwing and nailed Pujols at third.

"I think he's starting to do that on purpose, kind of bait the runners in trying to get that extra base," Milone joked. "It hasn't boded well for them."

Milone certainly could appreciate his defense on this night, and not just from Cespedes. Center fielder Coco Crisp reached over the center field fence to rob Angels left fielder Josh Hamilton of a home run in the second inning.

"I want (opposing hitters) to put it in play," Milone said. "That's the feeling I have with these guys behind me making incredible plays. It's a lot of fun to watch."

It was no fun for Angels fans to watch Pujols get thrown out at third in the sixth inning with their team down by three runs, especially when the memory of Cespedes' throw Tuesday was so fresh in everybody's minds. Pujols also ran through a stop sign and was thrown out at the plate in Tuesday's game.

"I do believe Albert is trying to create some things because I know nobody feels worse than Albert when he's not swinging the way he can and contributing to the team," Angels manager Mike Scioscia said. "And I do think on the bases at times he's trying to help us in any way he can. At times he's created some stuff and at times he's run into outs. But he's playing hard, he's playing aggressive, and that's what our team is about."

Milone (4-3) allowed six hits and two walks while striking out four.

Angels starter Jered Weaver (7-5) pitched well early before the A's knocked him out of the game after 5 1/3 innings. Shortstop Jed Lowrie's sacrifice fly gave the A's a 2-1 lead before Vogt hit Weaver's 104th -- and final -- pitch of the game over the fence in right field for a two-run homer and 4-1 advantage.

"He's just dominated me in the short bit that I've faced him this year and last year," said the Oakland catcher, who was 1-for-6 against Weaver before Wednesday. "I never know what to do facing him because he's so good keeping you off balance and showing you different pitches. With him, I just try to see something up, and fortunately it was a fastball and I was able to get to it."

The A's tacked on three runs in the ninth inning, including an RBI single by Cespedes, one of his three hits in the game.

Early on, the game was all about pitching and defense, and it included two homer-robbing catches.

Angels center fielder Mike Trout reached above the fence and pulled back a potential home run by Cespedes in the first inning.

An inning later, Crisp robbed Hamilton.

The A's jumped on top in the third inning when Crisp doubled with one out and scored on Cespedes' two-out single. The Angels tied the score at 1 in the fourth inning, Trout leading off with a double and scoring on a double by Hamilton.

NOTES: A's 3B Josh Donaldson was not in the starting lineup, replaced by INF Alberto Callaspo. There is nothing wrong with Donaldson physically; he was given a rest to help clear his mind. Donaldson entered the game in the sixth inning as a pinch hitter and went 0-for-2, leaving him hitless in his past 23 at-bats. He also committed a combined four errors Monday and Tuesday. ... Angels 1B Albert Pujols entered the game hitting .245, the lowest his average has been since he was hitting .240 on April 13. Before going 2-for-4 with a double Wednesday, Pujols was batting .171 (6-for-35) with one extra-base hit (a home run) in June.