Mitch Haniger scored the go-ahead run on a wild pitch in the fifth inning following a dropped fly ball by Cardinals center fielder Lars Nootbaar as the San Francisco Giants beat St. Louis 7-3 on Wednesday night.