The Cardinals have won four out of six and moved into a tie with Pittsburgh for second place in the National League Central.
Freese gave St. Louis a 2-1 lead with his two-run homer in the fourth and Craig hit a solo shot in the fifth.
Adam Wainwright (11-10) gave up two runs on five hits in six innings to win his fourth consecutive decision.
Three St. Louis relievers combined to retire all nine men they faced, with Jason Motte earning his 27th save.
|Additional Sports News Stories|
ST. ANDREWS, Scotland, June 19 (UPI) --The mission of the planet-hunting Kepler space telescope, ended by mechanical ills, could resume using different search techniques, a Scottish researcher says.