SAN FRANCISCO — 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.
Mets 2, Marlins 1, Game 1Mets 5, Marlins 1, Game 2
At New York, Dillon Gee rebounded from a wretched start and New York, back on the field following a two-day break because of Hurricane Irene, finished off a doubleheader sweep of Florida Marlins.
R.A. Dickey shut down the sluggish Marlins in the opener, pitching seven spotless innings in a 2-1 victory for his first win since July 25.
Phillies 3, Reds 2
At Cincinnati, Shane Victorino hit a tiebreaking, two-run homer in the eighth inning, and Cole Hamels was solid in his return from the disabled list, leading the Phillies to a victory over the Reds.
Victorino snapped an 0-for-11 slump with his homer off right-hander Homer Bailey (7-6), improving the Phillies to 4-1 against Cincinnati this season.
Astros 7, Pirates 4
At Houston, Carlos Lee hit a tiebreaking three-run homer in the seventh inning, Wandy Rodriguez struck out a career-high 13 and the Astros rallied past the Pirates.
Trailing 3-2 in the seventh, a fielder's choice grounder by J.D. Martinez tied the score and Lee extended his hitting streak to 10 games with his 14th homer off Jose Veras, putting the Astros ahead for the first time.
Diamondbacks 5, Rockies 1
At Phoenix, Daniel Hudson threw seven shutout innings and Ryan Roberts homered to help the Diamondbacks beat the Rockies for their seventh straight win.
Hudson added an RBI single for the Diamondbacks, who have won 10 straight home games and nine of 13 against the Rockies.
Dodgers 4, Padres 1
At Los Angeles, Andre Ethier had three hits and an RBI after sitting out a game with a sore knee and James Loney hit a two-run homer, leading the Dodgers to a victory.
Clayton Kershaw (17-5) won for the ninth time in 10 starts.
Yankees 3, Orioles 2
At Baltimore, Freddy Garcia returned from the disabled list to pitch six innings of two-hit ball, Nick Swisher homered and New York beat Baltimore to earn a split of the four-game series.
Mark Teixeira doubled in a run for the Yankees, who moved within 11/2; games of the first-place Red Sox in the AL East.
Athletics 2, Indians 1
At Cleveland, Carlos Santana homered and David Huff and four relievers combined to limit the Athletics to five hits in the Indians' win.
Huff (2-2) gave up three hits over six scoreless innings to win for the first time in six starts, since beating Minnesota in his season debut on July 18.
Royals 9, Tigers 5
At Detroit, Salvador Perez and Alcides Escobar hit back-to-back homers and the Royals beat the first-place Tigers.
Alex Gordon also homered and Johnny Giavotella added a bases-loaded double for the Royals, who came in 181/2; games behind Central Division leaders.
Blue Jays 7, Rays 3
At Toronto, Jose Bautista hit his 38th home run, Ricky Romero won his sixth straight decision and the Blue Jays beat the Rays to avoid a four-game sweep.
Adam Lind added a two-run homer as Toronto snapped a season-high four-game losing streak.
White Sox 3, Twins 0
At Chicago, Mark Buehrle pitched four-hit ball into the eighth inning and Tyler Flowers drove in two runs as the White Sox beat the Twins.
Mariners 5, Angels 3
At Seattle, Mike Carp hit a two-run homer in the eighth inning, lifting the Mariners to a victory over the Angels.
The drive gave Carp 22 RBIs in August. Danny Tartabull holds the club record with 25 RBIs in a month, in July 1986.