Miller (8-4) shook off a 2-hour rain delay to start the contest, baffling the Cubs on two hits. The right-hander issued two walks and struck out five.
Edward Mujica allowed one run over 1 1/3 innings to pick up his 20th save for the National League Central-leading Cardinals, who took the first of a four-game series.
Molina snapped a scoreless tie with a two-run double in the fourth, while Allen Craig and Shane Robinson each added an RBI for St. Louis.
Cubs starter Travis Wood (5-6) was saddled with the loss, allowing four runs (three earned) on seven hits over seven full frames.
Darwin Barney socked a solo homer for Chicago.