SAN FRANCISCO -- Ian Kennedy struck out seven in eight innings to win his fifth straight start and the Arizona Diamondbacks beat the San Francisco Giants 5-2 on Monday night in a matchup of the NL West's top two teams.