Brandon Moss' two-out double in the third inning gave the Cardinals a 1-0 lead over the Pirates.
Moss took a 2-1 slider from Pirates starter Gerrit Cole to right field, scoring Matt Carpenter, who led off the inning with a single.
Stephen Piscotty singled after Carpenter, but Matt Holliday hit into a double play soon after.
Cardinals starter Michael Wacha surrendered his first hit to John Jaso at the top of the fourth. Wacha had faced the minimum nine batters through the first three innings. After no strikeouts in the first, he struck out one in the second and two in the third.