Cubs 3, Giants 2
First baseman Brandon Belt committed a disastrous error with two outs in the top of the ninth inning to allow the tying and go-ahead runs to score as Chicago rallied to win the first of three in San Francisco.
The Cubs had runners at the corners against Giants closer Sergio Romo (3-5) but were down to their last strike when Anthony Rizzo hit a sharp grounder at Belt, who had it go right through his legs. Julio Borbon scored from third to tie it and Junior Lake came all the way around from first as the ball dribbled toward the right-field corner to give Chicago the lead.
Matt Guerrier (4-4) threw 1 1/3 perfect innings of relief to get the win and Kevin Gregg worked around a leadoff single in the ninth for his 20th save as the Cubs snapped a five-game losing streak in San Francisco.
The Belt error took a win away from Matt Cain, who allowed a run on six hits in seven innings and left with the 2-1 advantage. Chicago starter Edwin Jackson carried a 1-0 lead into the seventh before being charged with two runs in 6 2/3 frames.
The Cubs snapped a scoreless tie in the sixth when Nate Schierholtz doubled and scored on Starlin Castro's base hit. San Francisco claimed the lead when Jeff Francoeur singled in a pair of runs in the seventh to chase Jackson.
GAME NOTEBOOK: Chicago finalized the trade that sent veteran outfielder Alfonso Soriano to the New York Yankees in exchange for minor league RHP Corey Black. ... San Francisco activated IF Joaquin Arias (appendectomy) from the disabled list and optioned RHP Jake Dunning to Triple-A Fresno. ... The Cubs and Giants also conducted a trade that sent RHP Guillermo Moscoso from Chicago to San Francisco in exchange for a player to be named later or cash considerations.