Craig hits 2 homers, Cardinals rip Rockies 9-3St. Louis Cardinals' Allen Craig, right, is congratulated by teammates in the dugout after hitting a solo home run during the eighth inning of a baseball game Monday, July 2, 2012, in St. Louis. The home run was Craig's second of the game. (AP Photo/Jeff Roberson)
ST. LOUIS (AP) -- Allen Craig is putting up All-Star numbers, in about half the games.
Craig hit a pair of home runs, Carlos Beltran extended his RBI streak to a major league high nine games and Kyle Lohse worked into the eighth inning of the St. Louis Cardinals' 9-3 victory over the Colorado Rockies on Monday night.
''I am trying to make up for lost time,'' Craig said. ''Being on the DL's not fun, and I'm trying to make the most of my opportunities. I feel like I'm in a good spot, just going out there and having fun.''
Matt Holliday had a homer and sacrifice fly, Jon Jay doubled and walked twice with a steal and David Freese had three hits for the Cardinals, who punished a pitching staff that entered the game with a major league-worst 5.37 ERA.
Tyler Colvin and Wilin Rosario homered for the Rockies, who have dropped five of seven. Rosario homered for the third straight game, but Colorado pitchers totaled four wild pitches, eight walks and an error that allowed a run.
''When you walk eight guys, you don't give yourself much of a chance to win,'' Rockies manager Jim Tracy said. ''You just can't do it, that's what it boils down to.
''We've talked about that a lot and there's probably little else for us to say.''
Beltran, an NL All-Star game starter picked to participate in the home run derby, leads the league with 63 RBIs. He has 15 RBIs during the streak, including two on a sacrifice fly and groundout against Colorado.
Craig has 13 homers and 43 RBIs in 40 games in a season abbreviated by injury. He was awarded a bonus RBI single by Major League Baseball on Monday after review of a play originally ruled a fielding error, a one-hop liner that the Marlins' Jose Reyes couldn't handle at Miami on June 26.
''I did hear about that, actually,'' Craig said. ''I thought it was a really tough play for him.''
Lohse (8-2) worked seven or more innings for his fifth straight start, striking out five and walking two in 7 1-3 innings. He's 3-0 with a 2.29 ERA in three starts against the Rockies the last two seasons.
''I'm feeling strong, doing the things I need to do to get quick innings,'' Lohse said. ''My slider was working really good, just about everything was.''
Lohse was tenacious at the plate, too, coaxing an 11-pitch walk out of Josh Outman in the second and singling in the fourth. Manager Mike Matheny said it's a season best for the pitching staff.
Outman threw five of his first 10 pitches in the dirt and finished with two wild pitches and more balls (36) than strikes (34) in an abbreviated three-inning start, exiting with a 9.00 ERA. Outman, who played at suburban Lindbergh High School, gave up two runs and matched his career high with five walks.
The lefty hasn't lasted more than five innings in any of his eight starts this season.
''It's just been a comedy of mistakes on my part, and falling behind in counts,'' Outman said. ''You see what good-hitting teams do in that scenario.''
The Cardinals took the lead in the first on two walks, two wild pitches and a sacrifice fly by Beltran. Holliday's 13th homer in the third made it 2-0 before Colvin's ninth of the season tied it in the fourth.
Craig put the Cardinals ahead for good with a two-run homer in the fifth off Tyler Chatwood (1-1), a drive to straightaway center estimated at 438 feet two pitches after a visit from co-pitching coach Bo McLaughlin. He wrapped up the scoring with a 416-foot homer off Matt Reynolds in the eighth for his career multihomer game.
The Rockies loaded the bases in the fifth on a pair of scratch hits and a walk to Carlos Gonzalez before Lohse got cleanup man Michael Cuddyer to pop out to shallow center on a full count slider.
''Nothing against him, he's a good hitter,'' Lohse said. ''But he's a guy I'd rather face in that situation than Gonzalez.''
Holliday had been 1 for 15 with one RBI the previous six games against his old team after batting .415 (17 for 41) with three homers and six RBIs his first 11 games against Colorado according to STATS LLC.
Colvin is 10 for 25 with two doubles, two triples, two homers and 10 RBIs the last seven games. Rosario, a rookie, leads NL catchers with 14 homers after connecting off Maikel Cleto in the ninth.
NOTES: Beltran, who's in the All-Star Game home run derby for the first time, mentioned Giancarlo Stanton and Carlos Gonzalez as players to beat. ''To me, Stanton is a guy that has incredible power,'' Beltran said. ''I'm not going to go there really to compete 100 percent, I'm just going to enjoy it.'' The switch-hitting Beltran has hit 15 of his 20 homers left-handed, but said he hadn't decided which side it'll be. ... Lohse, R.A. Dickey and Johnny Cueto are the lone pitchers with a sub-2.00 ERA two of the first three months, according to STATS LLC. Lohse was 2-1 with a 1.80 ERA in June. ... Rockies CF Dexter Fowler didn't start due to a sore left side, but entered in a double switch in the seventh. ... Rockies 1B Todd Helton missed his second game with a sore right hip but could be back Tuesday. ... Craig made a nice play at 1B to end the game with a diving stop that robbed Gonzalez of a hit.