Wandy Rodriguez earned his second victory as a member of the Bucs with a six-inning effort. The ex-Astro only yielded three hits and as many walks while striking out three.
Offensively, Pittsburgh generated nine hits, including two each for Pedro Alvarez and Josh Harrison. Alvarez did the most damage, hitting a three-run homer in the third inning.
Joe Kelly took the loss for the Cardinals after lasting only five innings. The 24-year-old gave up five runs on eight hits and three walks.
With the win, the Pirates inched closer to second place in the NL Central. They only trail St. Louis by a single game in the Wild Card race and have closed the gap by winning four-of-six against their divisional foe in the past two weeks.