Allen Craig homered twice for the Cardinals, who avoided a sweep with the victory.
Pirates starter Paul Maholm—who has given up a team high 18 first-inning runs—again got into trouble in the opening frame. Maholm (6-14) dropped his fifth straight decision and allowed all three of his earned runs in the first. Maholm is 0-5 with a 4.64 ERA since the All-Star break.
Rafael Furcal opened the game with a single, which Craig followed by depositing a 3-2 pitch over the centerfield wall into the Cardinals bullpen to give St. Louis a quick 2-0 lead. Albert Pujols singled to right before Maholm walked Matt Holliday on four pitches. Maholm was able to get David Freese to bounce into a double play, but Yadier Molina singled home Holliday to put St. Louis up 3-0.
The Pirates responded in their half of the first off St. Louis starter Kyle Lohse when Garrett Jones belted a one-out double to left and Andrew McCutchen legged out an infield single to put runners at the corners. Neil Walker drew a two-out walk to load the bases, and Ryan Ludwick looped a sinking liner to right that looked as if it was going to fall in, but Craig corralled it to keep Pittsburgh off the board.
Both starters settled down after the first inning. Lohse retired nine straight and was cruising until the fifth, when Ronny Cedeno, who had two hits on the day, opened the inning with a double to left field. One out later, Jose Tabata homered over the Clemente Wall to pull the Pirates within 3-2.
St. Louis immediately answered in the sixth, thanks in part to a defensive miscue. With reliever Brad Lincoln on the mound and one out, Ryan Theriot and Jon Jay hit back-to-back singles. A passed ball by Ryan Doumit allowed both runners to advance 90 feet, and Theriot was able to score on Lohse’s groundout.
Craig added a solo homer to left in the seventh off Lincoln for his first career multihomer game and a 5-2 Cardinals lead.
The poor Pittsburgh defense continued in the eighth inning with Daniel McCutchen on the mound. Molina opened with a single and stole second. One out later, first baseman Jones bobbled a routine grounder by Jon Jay to put runners on the corners. Lance Berkman, hitting for Loshe, singled to right to plate Molina. After a strikeout, Jay scored when third baseman Brandon Wood threw wild to first on a ground ball by Craig, making the score 7-2 and putting the game out of reach.
Craig—who was hitless in his last 11 at-bats before the two-run homer in the first—ended the day 4-for-5 with three RBI. Molina added three hits for the Cardinals.
Lohse (11-7) picked up the win, holding the Pirates to two runs and five hits, striking out seven while walking only one.
The Pirates are off Thursday before opening a three-game series with Cincinnati on Friday. Kevin Correia will start for the Pirates, looking for his 13th victory of the season.