Colvin's blast off Joe Kelly (1-1) in the third inning erased a 2-0 deficit for the Rockies, who hung on to even their four-game series against the Cardinals at one victory apiece.
Jeff Francis (2-1) lasted five innings to collect the decision, yielding a pair of runs on five hits.
Colorado's relievers preserved the lead, with Josh Roenicke, Rex Brothers and Matt Belisle combining for three scoreless frames and Rafael Betancourt earning his 13th save despite yielding a hit and a walk in the ninth.
Kelly ended up surrendering three runs (two earned) on five hits through six full innings. The rookie hurler issued four walks and fanned five.
Matt Holliday socked a two-run homer for the Cards.