The Cardinals, who have won five straight, jumped on starter Gio Gonzalez (2-2) for eight runs in the first two innings en route to their 14th victory in 17 games.
Yadier Molina and Paul DeJong each homered and drove in three runs for St. Louis, which moved to a season-high 14 games above .500. The Cardinals extended their lead in the N.L. Central to three games over idle Chicago. The third-place Brewers dropped to 5 1/2 back.
Despite being staked to a 9-1 lead, starter Adam Wainwright lasted just 3 2/3 innings, throwing 90 pitches. He allowed two runs on six hits with three walks.
John Gant (9-0) relieved Wainwright and struck out three in 2 1/3 hitless innings for the victory.
Molina’s bases-loaded single with two outs in the first put the Cardinals up 2-0.
Molina’s fifth homer, a solo shot in the fourth, made it 9-1. DeJong added a two-run homer, his 24th, in the sixth and a sacrifice fly in the eighth.
The Cardinals manufactured a run to open the decisive second when Harrison Bader reached on an infield single, advanced on a sacrifice and took third on an errant pickoff throw by Gonzalez.