Angel Pagan had a go-ahead sacrifice fly after pitcher Ryan Vogelsong walked with the bases loaded to tie it in the fifth inning, and the San Francisco Giants rallied from an early five-run deficit to beat the Cubs 7-6 Thursday.
Pablo Sandoval hit a two-run double in a four-run fourth inning that was spurred by Cubs shortstop Starlin Castro's two-out fielding error, helping the World Series champion Giants win their fourth in a row.
Vogelsong (1-1) yielded eight hits and five runs in the first three innings before retiring his final 10 batters in a foggy and damp, 40-degree day.
With runners on first and third in the fourth, Castro botched Vogelsong's grounder, allowing the first run to score. Scott Feldman (0-2) then gave up an RBI single to Pagan and hit Brandon Crawford with a pitch ahead of Sandoval's double that pulled the Giants to 5-4.
Feldman allowed a single to Brandon Belt and walked Gregor Blanco after getting one out in the fifth. Hisanori Takahashi relieved and Nick Noonan singled to load the bases. Vogelsong then walked to force in a run and Pagan put the Giants ahead with a flyball to left field. Brandon Crawford then singled in a run to make it 7-5.
Feldman lasted just 4 1-3 innings and gave up six runs -- two earned -- on seven hits. He walked three and struck out three.
Jeremy Affeldt relieved Vogelsong after the sixth but he faltered in the eighth and was lifted after Alfonso Soriano doubled and Nate Schierholtz reached on a broken bat infield single. Santiago Casilla came on and got Welington Castillo to hit into a double play that scored Soriano to make it 7-6.
Luis Valbuena followed with a double to deep center, but pinch-hitter Steve Clevenger ended the inning looking at a third strike.
Giants closer Sergio Romo allowed a one-out double to David DeJesus in the ninth but finished for his sixth save.
Anthony Rizzo hit a two-run homer in the third inning to give Chicago a 5-0 lead. Brent Lillibridge broke an 0-for-17 start to the season with a two-run single in the second for the Cubs.