Randal Grichuk blasted his 18th home run of the season and Cardinals starter Michael Wacha spun six innings of one-run ball to help St. Louis to a 5-2 victory over the Giants on Thursday night at AT&T Park.