PHOENIX - Merrill Kelly stepped off the mound and screamed into his glove as he headed toward the dugout after one pitch in the eighth inning.
Another home game, another cramp in his right hamstring.
Frustrating? Yes, but the Arizona right-hander was dominating before that.
Kelly matched a career-high with 12 strikeouts in seven sterling innings before leaving with a hamstring cramp and the Diamondbacks remained in the thick of the NL wild-card race with a 4-2 win over the Colorado Rockies on Monday.
"Probably the most frustrated in a seven-inning, 12 punchout win that you’re probably ever going to see me," Kelly said. "I think it’s pretty self explanatory, obviously with the cramp again. At this point, I feel like I’m just beating my head against the wall, but we got the win today and that’s all that matters."
Kelly has struggled with leg cramps at Chase Field for about a month, including against Cincinnati on Aug. 24. He had no trouble with cramping against the Dodgers in his last start despite a rare shaky performance, but the issue cropped up again back home in the desert.
Kelly said he felt the hamstring grab on his first pitch to Elehuris Montero in the top of eighth and he couldn’t shake it. Manager Torey Lovullo and the training staff came out to check on Kelly, with Lovullo immediately shutting down the right-hander when he heard it was a cramp.
Kelly (11-6) was superb before that, filling the afternoon with whiffs and weak contact while allowing a run and four hits.
"In about the second or third inning. I said he’s got no-hit stuff today, just felt that energy," Lovullo said. "I felt the direction of his pitches and the shape and finish of his pitches was outstanding."
Jace Peterson hit a two-run double off Peter Lambert (3-6) in the fourth inning and Paul Sewald gave up a run-scoring double to Elias Diaz in the ninth before closing out his 30th save in 35 chances. Arizona remains three games behind the Chicago Cubs for the second NL wild-card spot.
Hunter Goodman hit a run-scoring single off Kelly for the last-place Rockies, who had five hits while losing for the 12th time in 14 games.
Kelly struggled his last outing, giving up seven runs in five innings in a 9-1 loss to the Dodgers.
He was much sharper against the Rockies, holding them without a hit until Nolan Jones and Brandon Rodgers hit consecutive broken-bat singles with one out in the fifth inning. Goodman followed with a run-scoring single to cut Arizona’s lead to 4-1.
Kelly added four more strikeouts over the next two innings before his hamstring cut his outing short.
"He’s a good pitcher and he pitched well," Rockies manager Bud Black said. "We just couldn’t solve the mix (of pitches)."
The Diamondbacks needed one time through the batting order to get to Lambert, who allowed three runs in five innings against Atlanta his last start.
Leadoff hitter Corbin Carroll hit a run-scoring triple in the third inning and Gabriel Moreno added one in the fourth. Peterson made it 4-0 later in the inning with a two-run double.
Lambert gave up all four runs and six hits while striking out five in six innings.
Rockies: OF/DH Kris Bryant took full batting practice for the first time since breaking his left index finger on a hit by pitch July 22. He could return to the lineup in a home series against the Chicago Cubs next week. ... RHP Nick Mears was recalled from Triple-A Albuquerque and RHP Tommy Doyle was optioned to the Isotopes.
Diamondbacks: Arizona recalled OF Dominic Fletcher and placed him on the 60-day injured list with a fractured left index finger. ... LHP Andrew Saalfrank was selected from Triple-A Reno after going a combined 8-2 with a 2.53 era in 44 games this season between the Aces and Double-A Amarillo. ... The Diamondbacks also optioned RHP Slade Cecconi to Reno.
Colorado LHP Kyle Freeland (5-14, 5.18 ERA) faces Arizona RHP Brandon Pfaadt (1-7, 6.21) in the middle game of the series on Tuesday.