Even after Barry Zito's latest rough start left the Giants eight runs behind the Angels by the fourth inning, San Francisco only needed a couple of big hits to get right back in it.

Those hits died in Albert Pujols' glove at first base, and the Giants never recovered.

Pujols hit a three-run homer, Mark Trumbo added a three-run triple while driving in five runs, and Mike Trout matched his career high with four hits in Los Angeles' 12-5 victory over San Francisco on Tuesday night.

Pujols drove in four runs and made back-to-back stellar defensive plays to end a seventh-inning rally by the Giants, who trailed 9-1 after four innings. San Francisco trimmed the lead to 9-5 in the seventh and could have had more, but Pujols stretched to snag Angel Pagan's bases-loaded hot shot down the baseline, turning it into a forceout — and moments later he gloved Pablo Sandoval's liner, ending the inning.

"Barry's had a tough go here the last three (starts), but you have to keep pressing on," San Francisco manager Bruce Bochy said. "That's all you can do. These guys did all they could do to get back in the game, and they had some good at-bats. And if we get a couple of those balls by Pujols, it's a different ballgame."

The Angels got to the Giants early and often. Los Angeles battered Zito (5-5) for eight runs on nine hits in just 3 1-3 innings, starting with Pujols' first-inning homer before the pitcher had recorded an out.

"That's something we want to do every game, is to score a lot of runs early and get to their pitcher," Pujols said.

Zito had yet another rough outing in a six-year stint full of missteps since moving across the Bay from Oakland to San Francisco. The first five Angels reached base against him in Los Angeles' four-run first inning, and the left-hander departed in the fourth inning with the bases loaded for Trumbo's triple off George Kontos.

Zito has allowed 17 runs and 23 hits in 14 1-3 innings over his last three starts.

"A lot of those pitches were right where I wanted them, including the Pujols homer," Zito said. "So I felt good out there. I was aggressive, I was prepared the right way, all those things. But those guys are big leaguers."

Not everything went poorly: Melky Cabrera added three more hits to his major league-leading 101, breaking Willie Mays' 1958 franchise record by needing just 291 plate appearances to get to 100. Mays needed 295 plate appearances.

Pujols' 11th homer put the Angels up 3-0 after three hitters. Peter Bourjos drove in Trumbo moments later with a sacrifice fly caught on a dead run by Cabrera in left field, and Los Angeles went up 5-1 on Pujols' RBI single in the second.

In the fourth, Pujols walked to load the bases for Trumbo, whose drive hit the wall in deepest center, just missing a grand slam. Angel Pagan had a chance to make the catch, but couldn't — and Trumbo scored moments later on Howie Kendrick's flyout, putting the Angels up 9-1.

"I thought I had a good jump," said Pagan, who had never played at Angel Stadium before this series. "I got on my horse and I thought I had a little more space to make a nice jump. But just when I was going to jump, the ball was already on my leg because I didn't feel the warning track."

C.J. Wilson (8-4) allowed season-highs of five runs and 10 hits to the Giants, but the Angels backed him with the highest-scoring performance of the season by a team that hadn't scored more than three runs in any of its last seven games — just 14 total runs in that stretch.

Trout went 4 for 4 with a walk and scored four runs while getting enough plate appearances to move into the AL batting title race at .337, trailing only Chicago's Paul Konerko. The rookie led off the first and second innings with doubles, and Pujols drove him home both times — the 15th and 16th times that has happened since May 1.

Trumbo cleared the bases in the fourth, missing a 400-foot homer by inches, before adding a two-run single in the eighth to cap his three-hit game.

"They had an incredible night, and the early runs helped C.J.," Angels manager Mike Scioscia said. "Those guys in the top of the lineup did everything we've asked them to do."

NOTES: Angels ace Jered Weaver returns from the disabled list Wednesday to face Ryan Vogelsong. ... After the game, the Giants said they'll place Kontos on the bereavement list while he attends his grandfather's funeral in the Chicago area. ... Giants 1B Brandon Belt extended his hitting streak to eight games with an eighth-inning single. ... Pujols has 11 homers in his last 41 games after the $240 million man began his Angels career with 27 straight homerless games.