The Cubs had totaled just four runs while getting swept in a three-game series at Atlanta over the weekend, and had lost seven of eight overall. Chicago has the worst record in the league at 13-24, but is 4-3 against the defending NL champions.
The Cubs hit for the cycle in the first five batters — Emilio Bonifacio doubled, Anthony Rizzo singled, Starlin Castro tripled and Mike Olt's two-run homer capped a four-run first inning.
Bonifacio had four of Chicago's 20 hits and scored four times, once on a play overturned by video review. Rizzo and Castro each drove in three as the Cubs set season highs for runs and hits.
Cardinals reliever Randy Choate gave up six runs in the ninth and left with two outs. Descalso made his first pro pitching appearance and retired the only batter he faced, getting Olt on a fly ball.
Travis Wood (3-4) beat St. Louis for the second time in three starts despite giving up five runs in six innings. He hit two batters in the fifth and both scored.
Tyler Lyons (0-3) surrendered nine runs in four innings in his fourth start in place of injured Joe Kelly.
Allen Craig drove in two runs for the Cardinals. Yadier Molina had two hits, an RBI and a steal when he caught Wood napping in the fifth and took third without a throw.
Lake hit a three-run homer in the second for a 7-0 lead. He had an RBI double in the fourth and a two-run double in the ninth.
Lake began the game with eight RBI in 92 at-bats this season. Three of his four homers have come against the Cardinals.
Olt leads NL with eight homers, including four in the last six games, all on the road.
In the fourth, Bonifacio was called out at the plate when he tried to score on Rizzo's grounder. The Cubs challenged the call, and the ruled was reversed.
NOTES: The Cubs' previous bests for runs and hits came at Comiskey Park on Thursday when they scored 12 runs on 15 hits against the White Sox. ... Cardinals ace Adam Wainwright (6-2, 4.75) opposes Jake Arrieta (0-0, 2.89) in the second game of a four-game set. Wainwright is 9-7 for his career against Chicago but just 3-6 with a 4.83 ERA at home, and is coming off his first career loss at Wrigley Field on May 2. ... Cardinals LPH Jaime Garcia, rehabbing from shoulder surgery, allowed two runs on three hits in five innings for Triple-A Memphis.