Trevor Cahill tossed a complete game, allowing only two runs as the Diamondbacks topped the Cubs, 8-2. Cahill struck out nine and improved to 13-and-12. Justin Upton was 3-for-4 with a two-run shot for Arizona. Aaron Hill knocked in two runs for the D'backs. Justin Germano allowed seven runs in four-and-one-third frames for the loss. Alfonso Soriano hit a two-run shot in the ninth for Chicago, which now has 99 losses.