Pujols notched an RBI single and a sacrifice fly in support of Batista (1-0), who pitched 1 2/3 innings in relief of Kyle McClellan, who gave up two runs on six hits with seven strikeouts in six innings.
Garret Olson (0-1), the third of four Pittsburgh pitchers, was tagged with the loss after giving up a run and a hit in 1/3 of an inning. Starter James McDonald lasted 4 2/3 innings, giving up two runs on four hits.
Lyle Overbay drove in both Pirates' runs with a home run in the first inning off McClellan.
Pittsburgh's 2-0 lead held up until the Cardinals scored single runs in the fourth, fifth and seventh innings.