The Cards trailed 3-0 in the fourth when they grabbed the lead for good, sparked when Freese singled home Allen Craig and Carlos Beltran. Freese later came around to score the tying run on David Descalso's double.
Pitcher Joe Kelly capped the rally by sending home Descalso (2-for-3, two RBI) with the go-ahead run.
Yadier Molina went 3-for-4 with two runs scored for the Cardinals, who took the opener of a three-game set.
Kelly (2-4) collected the victory despite coughing up 10 hits, allowing three runs and pair of walks while striking out four over 5 2/3 innings.
Brewers starter Randy Wolf (3-8) was touched for five runs on nine hits over 5 1/3 frames. The left-hander hit a two-run single in the second inning.