Right-hander Brad Thompson was a little wobbly early in the game, giving up runs in each of the first two innings and then allowing hits to the first two Colorado hitters in the third. But with the Rockies ahead 2-1 and with runners at first and third, Thompson kept the score that way.
Thompson fanned Kaz Matsui on a changeup, got Matt Holliday on a soft liner and then pitched around dangerous Todd Helton, a left-handed hitter, by walking him. Thompson escaped the inning by getting Garrett Atkins to ground out.
Thompson, 3-1 in five starts since coming out of the bullpen, became the first Cardinals starter to get an out in the eighth inning. He pitched 7 1/3 innings, allowing two runs.
Catcher Gary Bennett said, "His sinker is so good, he's never really in trouble as long as he's not walking guys."
Thompson walked only two.
Juan Encarnacion, who had knocked in just three runs since being activated from the disabled list earlier this month, drove in that many on one play in the sixth.
His three-run double with two out against Aaron Cook put the Cardinals ahead 4-2, and Encarnacion then scored on one of Bennett's three hits.
CARDINALS 7, ROCKIES 3: Scoring six of their seven runs with two outs, the Cardinals gained a split of a four-game series at Colorado. The Cardinals generally haven't won if the opposition scores first, but they overcame 1-0 and 2-1 leads Thursday. And they won with Albert Pujols resting and missing his first start of the season.
--LF Chris Duncan, who has bursitis and an infection in his left knee, returned to St. Louis, was examined and then hospitalized. Duncan is likely to miss the weekend series in Houston.
--SS David Eckstein didn't play for the fifth consecutive game as he rested a sore lower back. He may play Friday night in Houston.
--3B Scott Rolen extended his hitting streak to seven games (12-for-23) with a single and a run-scoring double.
--1B Albert Pujols didn't start for the first time in 51 games but played the ninth inning on defense.
--RHP Brad Thompson, who opened the season in the bullpen and gained a rotation role only when RHP Chris Carpenter underwent elbow surgery, tied for second on the staff with four wins by gaining credit for the victory Thursday. RHP Braden Looper has six wins.
--1B Scott Spiezio, who had an allergic reaction to some antibiotics he was taking, started Thursday after missing the previous two games. His single started a two-run eighth inning.
--The Cardinals scored back-to-back wins on the road for the first time since the second week of the season when they won once in Houston and three times in Pittsburgh.