The Cubs, who finished with 14 hits, were coming off back-to-back shutout losses before teeing off on Wacha, whose career numbers against them were a 4-7 record and a 6.12 ERA in 17 games (15 starts) entering the night.
The victory kept the Cubs 1 1/2 games behind first-place Milwaukee in the National League Central. The Cardinals lost for the fourth time in five games.
This season, Wacha had given up only five home runs in 76 2/3 innings, and his only other loss was in his first start in late March.
The Cubs opened the scoring when Ian Happ led off the third inning by crushing a changeup from Wacha (8-2) for a home run to right-center field, his ninth of the season.
Later in the inning, Kris Bryant walloped his ninth, a two-run shot, on a fastball. The bomb to left-center, estimated at 448 feet, ended his hitless string at 17 at-bats and his homerless streak at 119 plate appearances, both career longs. He finished with four RBIs.
The Cubs added two runs in the fourth, one on a safety squeeze bunt by Lester, before blowing the game open in the fifth.
Anthony Rizzo, who reached base four times, led off with a double, and Willson Contreras walked. Kyle Schwarber then belted a 76 mph curveball for a home run to center, estimated at 439 feet.
In four-plus innings, his shortest outing of the season, Wacha allowed nine runs (eight earned) on seven hits with four walks and two strikeouts.
Cubs lefty Jon Lester (8-2), meanwhile, gave up just five hits in six innings and walked only one while striking out three.
Those hits included solo home runs by Marcell Ozuna and Matt Carpenter, the ninth for each. Ozuna and Carpenter each had two of the Cardinals' nine hits. Carpenter had two RBIs.
The Cards added three runs off the Cubs' bullpen, including Tommy Pham's 10th home run, a solo shot.
Rizzo, Albert Almora Jr. and Addison Russell each had three hits for the Cubs. Almora drove in two runs and scored twice.
The Cardinals are playing this series without first baseman Jose Martinez, who is on paternity leave. He leads the team in batting average (.321), home runs (10) and RBIs (42).
Luke Voit, called up from the minors, started at first base. He was 0-for-3 with a walk.
--Field Level Media
Chi. Cubs | St. Louis | |
Jon Lester | Player | Michael Wacha |
Win | W/L | Loss |
6.0 | IP | 4.0 |
3 | Strikeouts | 2 |
5 | Hits | 7 |
3.00 | ERA | 18.00 |
Chi. Cubs | St. Louis | |
Anthony Rizzo | Player | Marcell Ozuna |
3 | Hits | 2 |
0 | RBI | 1 |
0 | HR | 1 |
4 | TB | 5 |
1.000 | Avg | .667 |