ST. LOUIS David Freese and Yadier Molina each hit their 20th home run of the season, and former Ole Miss standout Lance Lynn threw 6 1-3 innings to lift the Cardinals to the win.
St. Louis now leads the Los Angeles Dodgers by two games in the race for the second wild-card spot in the National League. Milwaukee is 2½ games back.
The Cardinals have won seven straight against lowly Houston. They have won three in a row overall for the first time since a four-game streak from Aug. 21-24.
Lynn (16-7), in his second start following a demotion to the bullpen, allowed three hits in a 102-pitch stint.
Freese hit a two-run homer off Lucas Harrell (10-10) in the second inning. Molina added a solo shot in the fourth.