ANAHEIM, Calif. -- Albert Pujols turned back the clock and pulled out the kind of majestic home run stroke that helped him hit 30 or more in each of his 12 previous seasons in the major leagues.
There was no doubt about this one, and it couldn't have come at a better time for the Los Angeles Angels.
Pujols hit a go-ahead homer in the eighth inning and drove in three runs, leading the Angels to a 4-3 victory over the Chicago Cubs on Tuesday night.
"I knew it was out of the park as soon as I hit it," Pujols said. "It just felt good because it gave us the lead. Even though Weaver didn't get the win, he pitched very well and gave us a chance to score some runs and come out with a win."
Cubs starter Scott Feldman took a 3-1 lead into the seventh before former Texas Rangers teammate Josh Hamilton led off with a double and scored on Howie Kendrick's third single of the game, which made him 8-for-18 against the right-hander.
James Russell came in and retired the next three batters, including Callaspo on a sacrifice bunt. But Erick Aybar greeted Carlos Villanueva (1-4) with a leadoff single through the box, and Pujols drove his first-pitch homer over the double-decker bullpen in left field after Mike Trout flied out.
"He wasn't supposed to even come close to throwing that pitch in that situation," Cubs manager Dale Sveum said with a tinge of disgust. "Somewhere down the line, we lost the scouting report from the bullpen to the mound."
Villanueva was understandably downcast in the clubhouse while talking about the 17th home run allowed by the Cubs' bullpen.
"It caught too much plate. It's as simple as that," Villanueva said. "If I make a better pitch there, maybe it's a different result. But Pujols is a great hitter. I don't really have to say that. So to a hitter, you can't miss by that much over the plate in that situation. He did what he was supposed to do -- put it in the seats."
Pujols, who has hit 54 of his 484 career home runs against Cubs pitching, is batting just .244 with 35 RBIs in 57 games. After he struck out in the third inning, he was soundly booed by the crowd.
"Numbers-wise, it's nowhere (near) I want to be. But I feel like I'm one swing away from turning things around," the three-time NL MVP said. "I don't give up, man. I take every game like it's the last game of my career. I go out there every day, try to fight and get a good pitch to hit and hopefully do something to help the ballclub win. Yesterday and the day before, I put a good swing on the ball and didn't do the damage I should do. It's frustrating because I know I'm not too far away from it."
Weaver struck out five and was charged with an earned run and six hits over six innings in his fourth start this season and second since coming off the disabled list. He is 0-2 with two no-decisions in four starts against Feldman, who spent his eight previous big league seasons with the AL West-rival Texas Rangers.
"He's got good stuff," Weaver said. "He's kind of changed his approach over the years. He was a hard thrower and a mid-90s (mph) guy, and now he's mixing in that split-finger and that cutter a lot. So he's kind of developed into a great pitcher and he's obviously proven that this year. He kept our guys off balance, but we were able to battle back and get that big homer by Pujols to put us back on top."
Feldman allowed two runs and six hits in six-plus innings. In his previous head-to-head duel with Weaver, on Sept. 19, 2009, Feldman beat him 3-2 at Texas for the 17th and final win of his best season in the majors.
"You realize it's going to be tough to scrape up runs against Weaver because he's one of the best," Feldman said. "He's always going out there and leaving his heart on the field."
The Angels, coming off an embarrassing four-game sweep by the visiting Houston Astros -- the team with the worst record in the AL -- won for the third time in nine games.
The Cubs snapped a 1-all tie in the third after Callaspo fumbled David DeJesus' leadoff grounder on the infield grass, his fifth error this season and fourth in three games. One out later, Weaver walked Anthony Rizzo and gave up an RBI single to Alfonso Soriano. Ryan Sweeney, who had three hits, delivered the second run of the inning with a two-out single -- his first RBI in 26 career at-bats against Weaver to that point.
Chicago opened the scoring in the first on a broken-bat RBI single from Nate Schierholtz with two outs, after Weaver hit Luis Valbuena with a 1-2 pitch and gave up an opposite-field single to Rizzo. The Angels tied it in the bottom half on Pujols' sacrifice fly, after a leadoff double by Aybar and an infield hit by Trout.
This is the Cubs' second visit to Anaheim since interleague play began in 1997. They took two of three in 2004.
With another Los Angeles-versus-Chicago confrontation going on up the freeway at Staples Center between the Kings and Blackhawks in Game 3 of the NHL's Western Conference finals, the baseball game drew 32,223 -- 4,772 fewer than the Angels' season average. ... One catcher picked off the other at first base in the second inning when Chicago's Welington Castillo caught Chris Iannetta leaning too far off the bag with runners at the corners. ... This was the first of eight home games the Angels will play against NL Central teams. ... Three of Weaver's four starts have been against NL teams. ... The Angels have committed 39 errors, second-worst in the AL behind Houston's 40. ... LHP Scott Downs relieved Weaver, pitching a perfect seventh inning with two strikeouts in his first appearance since May 26.