ST. LOUIS -- Chris Carpenter made his last start of the 2010 season a memorable one.

The Cardinals' 35-year-old right-hander allowed one run on four hits in his first complete-game victory of the season as St. Louis defeated the visiting Colorado Rockies, 6-1, on Thursday night at Busch Stadium.

"Tonight, there's no question that my stuff was better than it's been all year," Carpenter said. "I was sinking the ball well, commanding both sides of the plate with my fastball. My cutter was the best it's been. My breaking ball, I threw for strikes, for the most part, and it got better as the game went on. I threw a few really good changeups too and I still felt strong, which is what excites me."

The Cardinals (83-76) used a lineup of youngsters to win Wednesday's game against the Pittsburgh Pirates. But on Thursday against the Rockies, they showed that their veterans still pack a punch.

In his National League-leading 35th start of the season, which is also a career high, Carpenter looked like the dominant pitcher he was when he won the NL Cy Young Award back in 2005.

Carpenter improved to 16-9 on the season with the 29th complete game of his career, and he lowered his ERA from 3.31 to 3.22. He struck out four and walked two. The only run he allowed came on a wild pitch in the sixth inning.

"That was a great way for him to have his last start," Cardinals manager Tony La Russa said. "[Sixteen] wins is an outstanding season, and against a really good offensive club, he was in great command all night long."

Carpenter had struggled recently, winning two of his previous nine starts and losing four consecutive outings going into Thursday night's game.

"I've been scuffling a little bit the last few [outings], and it's nice to be able to go out there, execute early in the count, get quick outs," Carpenter said. "Obviously, defensively we did a nice job, and offensively, scoring early made it nice, too."

The Cardinals pounded out 11 hits on Thursday against five Rockies pitchers and handed right-hander Jason Hammel (10-9) a loss after he allowed five runs on eight hits in three innings.

"I think, for some reason, we haven't put the runs on the board for our pitching this year, and it was nice to give him a lead, a comfortable lead, and once you give a guy like him a comfortable lead, the game is usually in our favor," second baseman Skip Schumaker said. "We knew that if we got a couple runs with his stuff, we'd be OK."

First baseman Albert Pujols had two hits, including an RBI double in the first inning, and scored two runs en route to raising his team-high batting average to .315. He leads the NL with 118 RBIs.

La Russa said Pujols, who stole his team-leading 14th base of the season and was replaced by rookie Mark Hamilton for the ninth inning, tweaked his hamstring early in the game.

Shortstop Brendan Ryan had an RBI single and Schumaker, who finished with two hits, had a sacrifice fly to put the Cardinals ahead, 3-0, in the second inning.

Center fielder Colby Rasmus had an RBI single, stole second base and scored on rookie catcher Matt Pagnozzi's groundout to give St. Louis a 5-0 lead in the third.

"When you're facing Chris Carpenter, you certainly can't give him a five-run head start," said Rockies manager Jim Tracy, whose team has lost 10 of its last 11 games.

The Rockies (83-76) scored their only run in the sixth inning after center fielder Dexter Fowler tripled to left-center and scored on a two-out wild pitch.

Pagnozzi, who had two hits, added an RBI single in the seventh to make it 6-1.

Carpenter closed out the game by retiring 10 straight Colorado batters. Ryan kept that streak going when he went up the middle and made a highlight-worthy play to throw out Rockies shortstop Troy Tulowitzki at first for the second out of the ninth inning.

The victory was the 133rd of Carpenter's career.

"I just want to win," he said. "It doesn't matter if I went six and gave up three and we won the game. I just want to give our team an opportunity to win, and fortunately, I was able to do that."