Craig had a two-run homer in what turned out to be a three-run inning off Paul Maholm in the first. Lohse left the bases loaded in the bottom of the frame, then cruised through three more innings before allowing a two-run bomb to Jose Tabata in the fifth.
Lohse struck back in the sixth with an RBI groundout off Brad Lincoln, however, and Craig added his second homer of the game, a two-run shot, in the seventh. The Cards then added two more runs off Dan McCutchen in the eighth.
All told, Craig went 4-for-5, and Lohse had seven strikeouts in seven innings.
The Pirates have Thursday off, then begin a series against the Cincinnati Reds on Friday.
For more on the Pirates, check out Bucs Dugout.