Lynn (14-10) yielded one run on four hits, overcoming four walks while striking out seven for National League Central-leading St. Louis, which reduced its magic number for winning a division crown to one.
Matt Adams smacked a two-run homer in the first inning and the Cards never trailed.
David Freese and Daniel Descalso each added two RBI for St. Louis.
Brewers starter Yovani Gallardo (11-10) was saddled with the loss despite yielding just two runs on four hits in seven innings.
Khris Davis knocked in both Milwaukee runs.