PHOENIX -- — The Arizona Diamondbacks have been a bad baseball team for a big chunk of this season and own the worst record in the majors to prove it.
The only exception — at least in recent weeks — is when Merrill Kelly takes the mound.
Kelly (6-7) needed just 75 pitches to navigate the Cubs' lineup through eight innings and threw 59 strikes.
“It’s what I try to do," Kelly said. "Get quick outs, be efficient. I’m not the 95, 98 mile per hour guy who punches everyone out.”
Kelly was helped by two spectacular catches by Kole Calhoun. The right fielder made a diving grab on Patrick Wisdom's sinking line drive in the second inning and saved an extra-base hit in the third when he chased down Anthony Rizzo's long drive into the right-field corner.
“He looks like Superman out there,” Arizona manager Torey Lovullo said.
Kelly was pulled in the ninth after allowing a leadoff double to Kris Bryant and an RBI single to Javier Baez. The right-hander gave up four runs and six hits, struck out six and walked none while throwing 82 pitches.
The D-backs have won five of the past six games Kelly has started.
“It’s a belief in the game plan, it’s conviction with his pitches and trusting the guys around him,” Lovullo said. “It starts and stops with starting pitching each night. ... He’s as good as we’ve got.”
Arizona was able to take advantage of a sloppy performance by Chicago's pitchers with 11 walks. Joakim Soria earned his fourth save, one day after blowing a 2-1 lead by giving up three runs in the ninth.
Willson Contreras — who had the big two-run homer in the ninth off Soria on Saturday — struck out looking on a full-count breaking ball right down the middle to end Sunday's game.
Cubs starter Zach Davies gave up two runs over 4 2/3 innings. He gave up six hits, walked four and struck out three. Manager David Ross said he was pleased his lineup continued to fight through nine innings but couldn't overcome all the walks from his pitchers.
“The free passes are frustrating but other than that we’re playing pretty good baseball,” Ross said.
Arizona pushed ahead 4-2 with two runs in the seventh after Cubs pitcher Dan Winkler (1-2) loaded the bases with one out by walking Eduardo Escobar, hitting Walker with a pitch and walking Pavin Smith. Ahmed got an RBI when he hit a weak ground ball that scored Escobar. Walker scored when Rex Brothers threw a wild pitch.
Arizona led 2-0 after five innings but the Cubs tied the game at 2-2 in the sixth. Robinson Chirinos led off the inning with a ground rule double and Bryant drove him home with two outs by slicing a long double into the right-field corner. Javier Báez followed with a line drive single that scored Bryant.
ODD DOUBLE PLAY
The Diamondbacks left the bases loaded for the third time of the game in the seventh after a strange double play ended the inning.
Calhoun hit a grounder to first and Rizzo immediately fired home to get a force out. Calhoun had to dive out of the way of Rizzo's throw and didn't jump back up immediately, which gave Chirinos time to throw to Rizzo at first for the double play.
Calhoun said it was a strange, confusing play and it was his fault he didn't scramble immediately to first after diving to the ground.
“You win the ball game and it's easy to laugh off," Calhoun said.
The Cubs claimed 1B Frank Schwindel off waivers from the Oakland A's and optioned him to Triple-A Iowa. The 29-year-old Schwindel was 3 of 20 (.150) for the A's this year with one homer.
Diamondbacks: OF Ketel Marte and INF Asdrúbal Cabrera both did agility work on the field before the game. Both players are recovering from hamstring injuries.
Nola scheduled to start for Philadelphia against Pittsburgh
Pittsburgh Pirates (57-94, fifth in the NL Central) vs. Philadelphia Phillies (78-74, second in the NL East)
Chicago White Sox to visit the Cleveland Indians
Chicago White Sox (85-66, first in the AL Central) vs. Cleveland Indians (74-76, second in the AL Central)
Pineda scheduled to start as Minnesota hosts Toronto
Toronto Blue Jays (85-67, fourth in the AL East) vs. Minnesota Twins (67-85, fifth in the AL Central)
Corbin expected to start for the Nationals against Reds
Washington Nationals (63-89, fifth in the NL East) vs. Cincinnati Reds (78-74, third in the NL Central)
Otto scheduled to start for Texas against Baltimore
Texas Rangers (55-97, fifth in the AL West) vs. Baltimore Orioles (48-104, fifth in the AL East)
McCullers Jr. expected to start for the Astros against Angels
Houston Astros (91-61, first in the AL West) vs. Los Angeles Angels (72-80, fourth in the AL West)