Bart and David Villar each homered, doubled and drove in two runs, helping the San Francisco Giants top the Chicago Cubs to end a five-game losing streak.