ST. LOUIS (AP) -- Allen Craig hit a pair 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.
Matt Holliday had a homer and sacrifice fly and Jon Jay doubled and walked twice with a steal 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.
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.
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 on the Marlins' Jose Reyes at Miami on June 26.
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.
Lohse was tenacious at the plate, too, coaxing an 11-pitch walk out of Josh Outman in the second and singling in the fourth.
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 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.
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.