The Cardinals managed only two hits off Clayton Kershaw and the Dodgers, but Jon Jay's sacrifice fly set up by A.J. Ellis' passed ball in the fifth stood up.
The Dodgers' scoreless streak in the NLCS reached 19 innings. Rookie fireballer Trevor Rosenthal struck out the side in the ninth with a heater reaching 101 mph, fanning pinch-hitter Andre Ethier on three pitches to end it.
A day after outlasting Los Angeles 3-2 in 13 innings, the Cardinals moved two wins away from the World Series.
Game 3 is Monday at Dodger Stadium, with Cardinals ace Adam Wainwright facing rookie Hyun-Jin Ryu.