Brandon Moss had his first big hit with St. Louis, a game-ending single in the ninth inning, and Randal Grichuk had a two-run homer to lead the Cardinals to a 3-2 win over the Colorado Rockies on Sunday.
Closer Trevor Rosenthal (2-2) pitched a perfect inning for the win.
The Cardinals have won nine of 12 and have a major league-best 40-16 mark at home. Colorado has lost four of five.
St. Louis jumped to a 2-0 lead on Grichuk's home run off Colorado starter Yohan Flande in the fifth. It was Grichuk's 12th homer of the season and fifth since the All-Star break.
Flande gave up two runs on four hits over five innings.
St. Louis starter Jaime Garcia allowed just one run on two hits in five-plus innings. He left with a 2-0 lead.
The Cardinals have won 17 of their last 21 at home against Colorado.
Colorado: RHP Kyle Kendrick will have an MRI in Denver on Monday. Kendrick was placed on the 15-day disabled list Saturday with shoulder inflammation.
Colorado: RHP Eddie Butler (3-7, 4.82) will take on Seattle RHP Felix Hernandez (12-6, 3.02) in the first of a three-game series in Denver on Monday. Butler will be facing an American League foe for the first time.
St. Louis: RHP John Lackey (9-6, 2.78) will face Cincinnati RHP Anthony DeSclafani (6-7, 3.75) in the first of a three-game set in Cincinnati on Tuesday. Lackey will be making his team-high 22nd start of the season.
Link to box score: St. Louis (67-38) 3, Colorado (44-59) 2