Aaron Cook has no regrets. He did his job and kept the ball down. The problem was too many balls finding holes.

The St. Louis Cardinals had no fly ball outs against Cook, but chased him in a five-run sixth inning of a 6-1 victory on Friday night. Cook was charged with six runs in 5 2-3 innings.

"He just kept throwing ground balls, even as they were scoring," Rockies manager Jim Tracy said. "Aaron Cook did not throw the ball badly. As a matter of fact, he threw the ball very well."

Kyle Lohse worked into the seventh inning after a week between starts and Albert Pujols followed up a 4-for-4 game with two hits and the go-ahead RBI.

David Freese had two hits and three RBIs, two of them during the five-run outburst that chased Cook (2-7). Matt Holliday returned after missing two games with a lower back injury and had an RBI double, while Lohse contributed his first Busch Stadium RBI in nearly two seasons, both in the rally.

Pujols singled in two of his first three at-bats and his one-hop smash that glanced off second baseman Mark Ellis' glove made it 2-1 with none out in the sixth. Holliday bounced a double over the head of third baseman Scott Nelson on the next pitch for a two-run cushion and Freese's two-run single made it 6-1.

"It's very frustrating. but I've got to try to just laugh this one off and realize I know I made the pitches I wanted to make," Cook said. "They were able to just find the holes to get the runs."

If Ellis had been able to glove Pujols' shot, the Rockies might have turned a double play.

"He almost made a fantastic play on the ball Pujols hit because he blistered that ball," Tracy said. "You don't know what would have happened beyond that, but instead of a five-run inning they'd have had a runner at third and two outs."

Cook is 1-5 for his career against the Cardinals, the lone win coming on June 6, 2009, at St. Louis during a four-game sweep.

Carlos Gonzalez hit his 17th home run for the Rockies, who have lost three in a row while mustering just four runs and are a season-worst 10 games below .500 (55-65). Colorado had only five hits for the second straight game and has scored only one run for Cook in his last three starts.

Lohse (10-7) matched his victory total from the previous two seasons, both of them injury-plagued, and addressed doubts about his current health and durability that in part prompted the Cardinals to give him two extra days of rest. The right-hander allowed a run on four hits in 6 1-3 innings and threw 91 pitches, 17 more than any of his three previous appearances.

Lohse was sent home for tests for inflammation in the middle finger of his pitching hand after his start on July 24 at Pittsburgh and allowed eight runs in eight innings in his previous two starts.

Ace Chris Carpenter jumped ahead of Lohse with regular rest and had a strong eight-inning outing in a 5-2 victory over NL Central-leading Milwaukee on Thursday night. The Brewers led St. Louis by four games entering Friday.

Gonzalez is 3 for 19 with two homers during the Rockies' trip.

Lohse had early success going after hitters, with first-pitch strikes to 11 of the first 12. That stretch was capped by Gonzalez's homer to straightaway center leading off the fourth to tie it at 1, and the Rockies loaded the bases on two walks and Todd Helton's double later in the inning before Cook popped out to shallow right.

Cook is 0-2 in August, surrendering 12 runs in 16 1-3 innings.

Notes: Lohse's last RBI at home was Aug. 16, 2009, against the Padres. He has two RBIs this season to go with a .143 average (7 for 49). ... Holliday is a career .367 hitter (18 for 49) against the Rockies with three homers and seven RBIs. ... Freese is batting .390 (23 for 59) with runners in scoring position. ... Edgmer Escalona worked 2 1-3 scoreless innings of relief for the Rockies, allowing only a walk. ... Helton is batting .435 (10 for 23) against Lohse. ... Jason Hammel (6-11) takes the mound for the Rockies on Saturday against the Cardinals' Jaime Garcia (10-5). Hammel is 3-3 on the road while Garcia hasn't allowed a homer to a left-handed hitter in 203 innings since the Phillies' Ryan Howard connected on July 21, 2010.