A four-run fourth inning powered San Francisco to a 7-1 win over St Louis which levelled the MLB National League championship series at one-all.
Marco Scutaro hit a two-run single in the fourth with the Giants winning their first home game of the playoffs.
The best-of-seven series now shifts to St Louis for three games, starting with game three on Wednesday when San Francisco pitcher Matt Cain takes on Kyle Lohse of the Cardinals.
The Giants got off to a torrid start when Matt Holliday barrelled into Scutaro at second base to break up a potential double play in the first inning, angering a crowd that had seen three straight losses by the Giants so far this post-season.
The San Francisco crowd quickly recovered its mood as Ryan Vogelsong pitched seven strong innings, Angel Pagan hit a leadoff homer for the Giants' first home lead this post-season, and Scutaro broke the game open with his single off Chris Carpenter.
Scutaro left after five innings because of an injured left hip, and will undergo X-rays.
The Giants benefited from a missed call by an umpire in the eighth inning after St Louis centre-fielder Jon Jay made a spectacular diving catch to rob Brandon Crawford of a hit.
Jay threw toward first and the Cardinals should have secured a double play but first base umpire Bill Miller did not see Allen Craig tag Gregor Blanco's jersey as he raced back to first on the play.
St Louis manager Mike Matheny argued the call and the umpires huddled to discuss it, but they maintained the safe call even though replays showed Craig made the tag.