Jack Flaherty threw eight scoreless innings to lead the Cardinals to a 1-0 victory over the visiting San Francisco Giants Tuesday night. The Cardinals won for the 20th time in their last 25 games. The Giants have lost seven of their last eight games and 11 of their last 14.