The 30-year-old right-hander pitched seven dominant innings and Josh Rojas hit a three-run double in the seven-run eighth for the Diamondbacks, who beat the lackluster San Diego Padres 9-0 Friday night.
Arizona remained five games behind Milwaukee for the second NL wild card and also need to overtake the Chicago Cubs and New York Mets. The Diamondbacks have won four of their last six games after losing six straight.
Kelly (12-14) was impressive in his final road start this season. He held the Padres to two hits and struck out nine while walking three.
San Diego had only two baserunners in the first four innings, one of whom was erased by a double play. The Padres didn't get their first hit until Luis Urias singled with two outs in the fifth.
"He was really pounding the zone with an assortment of pitches and looked very comfortable," manager Torey Lovullo said. "Mike (pitching coach Mike Butcher) and I started talking about no-hit stuff. That's what it looked like to us. I know he pitched halfway through this game with a no-hitter. That wasn't by accident. It was a very good night for him."
Kelly has thrown seven innings in consecutive starts and in three of his last four. He's gotten the win in three of his last four starts and in five of his last eight.
"I'm just trying to stay consistent," Kelly said. "With us sliding a little bit after New York, and us trying to make a push for the last wild-card spot, my goal is to go out and be as consistent as I can."
Said Lovullo: "I think he's on that wave a lot of players look for and he's executing at a pretty high level. Merrill's definitely on a good roll right now."
The damage in the eighth could have been less if Manny Machado had tagged Adam Jones advancing to third on Carson Kelly's one-out grounder and the Diamondbacks up 3-0. Jones ran out of the baseline, but Machado didn't attempt to tag him, so he was safe.
"I think he saw him go wide out of the baseline; he assumed he was out," manager Andy Green said. "If there's no guy trying to tag you, you're allowed to round it as far out as you want to. That was a tough play not to end up with an out."
Said Hosmer: "We're just making a lot of mistakes out there. "It's tough when things aren't going right. It seems like it just keeps pouring on us a little bit. We're better than what we're showing right now. It starts with me going out there, not playing well defensively right now obviously."
Kelly got all the runs he needed when Carson Kelly hit a two-run single in the second off left-hander Eric Lauer.
The Diamondbacks sent 12 batters to the plate in the eighth and scored seven runs during a Padres' bullpen meltdown. The Diamondbacks had four hits, drew three walks and had one hit batsman. Besides Rojas' bases-clearing double, Wilmer Flores hit a two-run single, Jones had an RBI single and pinch-hitter Abraham Almonte drew a bases-loaded walk.
Lauer (8-10) also struck out nine but allowed two runs and two hits in six innings, with four walks.
Merrill Kelly snagged Manny Machado's line drive in the first inning and doubled Nick Martini off first to end the inning.
"I don't know if I'd call that athleticism or luck," Kelly said. "I just tried to move my head and put the glove where my head was, and the ball just happened to find my glove."
Diamondbacks: RHP Luke Weaver (4-3, 3.03) is scheduled to start Saturday night.
Padres: Struggling rookie RHP Cal Quantrill (6-8, 5.33) is scheduled to make his 23rd appearance and 18th start. He is 0-4 with a 15.12 ERA in his last four starts since Aug. 27
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Padres cap off four-run inning with Castillo's RBI
Pinch hitter Ivan Castillo rips an RBI single to right field to increase San Diego's lead over St. Louis.
Lewis, Crawford pick up RBIs off Bieber for Mariners' win
Kyle Lewis and J.P. Crawford knock in all the runs helping Seattle take down Shane Bieber and Cleveland 3-2.
Mariners snap Bieber's strikeout streak, beat Indians 3-2
— Mitch Haniger hit two doubles and the Seattle Mariners snapped Shane Bieber’s record strikeout streak, beating the Cleveland Indians and their ace 3-2 on Sunday.
Nunez passed ball, Sheffield wild pitch gift Reds 7-6 win
— Dom Nunez's passed ball allowed home the tying run in the ninth inning and Jordan Sheffield's wild pitch scored the go-ahead run, gifting the Cincinnati Reds a 7-6 win over the Colorado Rockies on Sunday.
Duvall hits another 3-run HR, Marlins hold off Dodgers 3-2
— Adam Duvall hit a three-run homer and then threw out Mookie Betts at the plate during a busy fifth inning Sunday, and the Miami Marlins hung on for a 3-2 victory in their series finale with the Los Angeles Dodgers.
Hernandez sparks Nationals' offense with late homer
Yadiel Hernandez hits a solo home run to left field in the eighth inning to finally get the Nationals on the board with a 1-0 lead over the Diamondbacks.