Wainwright (5-2) broke a personal two-game winless streak with the 120-pitch gem, during which he took a no-hitter into the eighth inning.
The right-hander retired the first 13 batters he faced before allowing a walk, then set down nine more in a row before Nathan Arenado collected a solid single to center field with one out in the eighth for the Rockies' first hit.
Wainwright struck out seven for the Cardinals, who were coming off Shelby Miller's one-hitter Friday. St. Louis retired 50 straight Rockies batters over the two-game span.
Jhoulys Chacin (3-2) absorbed the loss, yielding a pair of runs on eight hits over five full innings as Colorado dropped a fourth straight.
Exploding whale video goes viral on Internet
Reindeer recovered after escaping from Santa during lighting ceremony