The Chicago Cubs overcame Matt Cain's five perfect innings by capitalizing on San Francisco's seventh-inning defensive lapses to claim a 3-2 Cactus League decision over the Giants.