Garcia strikes out nine, Freese homers for Cards