Randy Wells pitched a two-hitter for his first career complete game, and Chicago hit four home runs _ three off San Francisco ace Tim Lincecum -- as the Cubs beat the Giants 7-0 on Monday night.
Alfonso Soriano, Geovany Soto, Blake DeWitt and Carlos Pena all went deep for the Cubs, who snapped a four-game losing streak and won for only the second time in their last nine games.
It was the third time this season Chicago has had four or more home runs in one game. The Cubs have 38 home runs in August, most in the National League.
Lincecum (12-11) lasted six innings and took the loss, giving him a career-high 11 on the season. The loss dropped the defending World Series champions five games behind first-place Arizona in the NL West.
The way Wells has been pitching it didn't matter what Lincecum did. Wells (6-4) faced only four batters over the minimum and only allowed two runners to reach second base. He matched his season-high of seven strikeouts and walked one while winning his third consecutive start on the road. The right-hander, who hasn't lost since July 28, improved to 2-1 in four career starts against the Giants.
San Francisco managed only a two-out double by Andres Torres in the third and Mike Fontenot's pinch-hit single with one out in the eighth. That continues to be a big problem for the Giants, who went into August with a two-game lead in the division. Now San Francisco needs a strong finish to avoid missing out on the postseason altogether.
The Giants are five games back of the Diamondbacks with 27 games to play. At the same point a year ago, they were three games out of the division lead before going 18-8 in September.
Lincecum, a two-time NL Cy Young Award winner, had allowed only five runs over his previous five starts. He pitched out of jams in the first and sixth but gave up solo home runs to Soriano and Soto before DeWitt's three-run blast in the seventh.
Soriano's home run was his 23rd of the season, one shy of tying Pena and Aramis Ramirez for the team lead. Soto's homer, leading off the seventh, snapped an 0-for-25 streak by the Cubs' catcher. Lincecum finished with four walks and four strikeouts. He needs seven more to reach 200 for the fourth consecutive season.
Pena hit his 24th homer off reliever Steve Edlefsen in the seventh.