The Cubs have their longest winning streak since a three-game sweep of San Francisco in late July.
Arrieta struck out seven over 5 1-3 innings in his season debut, giving up four hits. The right-hander was activated from the disabled list before the game, having been out because of shoulder stiffness.
Lake hit a two-run homer in the sixth for a 2-0 lead. Along with his third homer, Lake also doubled in going 3 for 3.
Rizzo led off the eighth with sixth home run, and third in three games. He connected on the first pitch he saw from Randy Choate.
Arrieta walked two and threw 82 pitches. The Cardinals put five runners on base through the first three innings, but escaped.
Arrieta struck out Molina to strand runners on the corners in first. The Cardinals put two on with no outs in the second before Greg Garcia struck out, Wacha grounded out and shortstop Starlin Castro made an over-the-shoulder catch on Matt Carpenter's popup.
The Cubs loaded the bases in the fifth, and Wacha fell behind in the count 2-0 against Rizzo before getting him on an inning-ending grounder.
NOTES: Cardinals LHP Jaime Garcia (shoulder) is scheduled to make a rehab start Saturday at Double A-Springfield.
Link to box score: Chicago (11-17) 3, St. Louis (15-16) 0
Join the pre-game, in-game and post-game discussion about each contest at The Cardinal Nation message board.