Leadoff batter Dexter Fowler scored twice in the first three innings for the Cardinals, who beat their NL Central rivals a night after losing on a game-ending homer by Ryan Braun. St. Louis took two of three in the series.
A 4-0 lead after four innings was more than enough cushion for the hard-throwing Martinez (1-1). The two-time All-Star rebounded from a rough opening-day start last week against the New York Mets by cruising through the Brewers' dangerous lineup at hitter-friendly Miller Park.
Martinez allowed four hits and two walks. He retired 16 straight before Domingo Santana laced a one-out single in the seventh. The right-hander's fastball still registered 93 mph in the ninth.
He left with one out after Yairo Munoz, who entered as a defensive replacement at third base, mishandled a sharp grounder by Santana to put runners at first and second.
The Brewers loaded the bases against reliever Sam Tuivailala, but Bud Norris ended the game by getting Manny Pina to hit a soft bouncer in front of the mound for a 1-2-3 double play.
Molina hit a solo shot to left field in the fourth off Jhoulys Chacin (0-1). The right-hander, who signed as a free agent in the offseason, allowed seven hits and six runs over 5 2/3 innings.
Only three runs were earned because of three Milwaukee errors, including two by second baseman Jonathan Villar. His wayward throw to third trying to get Paul DeJong advancing on an infield single eluded Travis Shaw.
DeJong scored to make it a six-run lead.