Dexter Fowler drove in three runs, Marcell Ozuna had four RBIs and the Cardinals cruised to a 17-4 route of the Pittsburgh Pirates on Thursday night.
Paul Goldschmidt reached base four times and had three hits and two RBIs for the Cardinals, who managed just one run in their previous 21 innings but bounced back with 16 hits and recorded a season high in runs.
St. Louis, which won for just the second time in eight games, sent nine or more batters to the plate three times over the first six innings.
Gregory Polanco homered and drove in three runs for the Pirates, who lost their second in a row after winning five of six.
Fowler broke a 1-1 tie with a two-run, ground-rule double that highlighted a four-run, second-inning surge for the Cardinals.
St. Louis sent 10 to the plate in a five-run fourth inning that pushed its lead to 11-2. Jose Martinez drew a bases-loaded walk, Molina hit an RBI single and Kolten Wong had a run-scoring double. Pirates first baseman Josh Bell also had a fielding error that allowed two runs to score in the inning.
Shildt was impressed that his team was able to get the job done without a home run - just 10 singles and six doubles
Michael Wacha (3-0) allowed four runs and nine hits over 5 2/3 innings to pick up his first win in three starts for the Cardinals.
Joe Musgrove (1-4) lasted just three innings for Pirates, giving up eight runs and six hits.
Pittsburgh took a short-lived 1-0 lead on a solo homer by Polanco in the first.
The Pirates' Melky Cabrera had a 12-game hitting streak snapped with an 0-for-4 performance.