Game Four is Thursday at 7 p.m. Adam Wainwright will start for St. Louis, against Tim Lincecum for the Giants.
The Giants struck first on a Pablo Sandoval ground out in the third that scored Angel Pagan to make it 1-0.
But in the bottom of the third, Matt Carpenter, who replaced Carlos Beltran (knee), drilled a two-run homer in to the right field seats off of Giants starter Matt Cain, giving St. Louis a 2-1 lead.
Both starters settled until the bottom of the seventh, with the rain starting to come down, Shane Robinson grounded to second with the bases loaded and one out. Marco Scutaro, playing for the double play, had no chance to get David Freese out at home, made the easy out at first, and the Cardinals took a 3-1 lead.
The weather forced a three-hour, 28-minute rain delay.
The game resumed at approximately 9:05 p.m., and the Cardinals bullpen finished off the Giants, ending with a 1-2-3 ninth for Jason Motte.
Copyright 2016 Nexstar Broadcasting, Inc. All rights reserved. This material may not be published, broadcast, rewritten, or redistributed.