The Cardinals scored four runs in the second and five more in both the fourth and sixth to cruise past the Pirates 17-4 in St. Louis.
Yadier Molina went 3-for-4 with two RBI and three runs scored, and Dexter Fowler had two hits and drove in three. Marcel Ozuna had a three-run double with the game well out of reach.
Michael Wacha pitched into the sixth for his third win.
Joe Musgove gave up the first eight runs for Pittsburgh and took the loss. Gregory Polanco went 3-for-4 with a homer and three RBI for the Bucs.