SAN FRANCISCO -- Diamondbacks pitcher Patrick Corbin is more than a year removed from Tommy John surgery and took another step forward with his longest outing of the season Saturday.

It doesn't matter much for Arizona this season, but it's a good sign heading into the offseason for manager Chip Hale's ballclub.

Corbin pitched seven sharp innings and helped his own cause with an RBI single, and the Diamondbacks beat the San Francisco Giants 6-0 on Saturday.

More from FoxSports

It's the first time since his elbow surgery on March 25, 2014 that Corbin has pitched seven complete innings. He was economical, too, needing just 80 pitches to complete his afternoon.

"They're aggressive, so early on that helped a lot," Corbin said. "I had some quick innings there and kept the pitch count down. For the most part, everything feels close to normal. Elbow feels great. Haven't had an issue with that since I've come back."

Ender Inciarte had three hits and two RBIs, while David Peralta and A.J. Pollock added three hits apiece for Arizona. The Diamondbacks have won four of their last five games against the defending World Series champs and five straight at AT&T Park.

Corbin (6-4) ended his own skid in San Francisco after going winless in four previous starts at the ballpark. The Arizona left-hander gave up five hits, struck out five and retired 16 of the final 18 batters he faced.

David Hernandez and Josh Collmenter combined for the final six outs to complete the Diamondbacks' second consecutive shutout in this series between the two division rivals.

Arizona pitchers have now thrown 30 consecutive scoreless innings at AT&T Park.

"(Corbin) did a great job," Hale said. "His pitch counts have been so good. To get seven innings with that number is really good. He's just keeping guys off balance."

Mike Leake (10-9) took the loss for San Francisco, which began the day 8 1/2 games behind the Dodgers in the NL West. The Giants have lost three of their past four games.

It's the first time San Francisco has been shut out in consecutive games since July 2012.

"There's no rhyme or reason," Giants manager Bruce Bochy said. "They've done a number on us. I'm a little stunned to be honest."

Every Arizona starter had at least one hit, and the Diamondbacks had runners on base every inning.

Inciarte went into the game hitting .324 over his previous 10 games. He had an RBI single off Leake in the third to put Arizona up 3-0, then drove in Pollock with a single in the sixth when the Diamondbacks extended their lead to five runs.

Peralta, Chris Owings and Jarrod Saltalamacchia also drove in runs for Arizona.

Leake gave up three runs and eight hits over three innings, his shortest outing since 2013. Leake has won only one of his seven starts since being acquired from Cincinnati in late July.

Matt Cain, the former San Francisco ace who hadn't pitched since Aug. 25 due to pain in his elbow, worked out of the bullpen for only the second time in his career and gave up a run in the sixth.

TRAINER'S ROOM

Diamondbacks: Peralta twisted his ankle rounding the bases early in the game but isn't expected to miss any time.

Giants: 1B Brandon Belt has been diagnosed with a concussion and isn't likely to be in the lineup for a few days. Belt was initially injured Tuesday while sliding into second base. He played the next day but was pulled out of Friday's loss to Arizona after complaining that he couldn't keep his focus. "He showed symptoms last night and that's what we're treating him for," Bochy said.

UP NEXT

Diamondbacks: RHP Jeremy Hellickson (9-9) will make his second start since coming off the disabled list. Hellickson beat the Giants at their waterfront ballpark earlier this season.

Giants: RHP Tim Hudson (7-8) pitches the series finale for San Francisco. Hudson continues to be bothered by his hip but has allowed only two earned runs over his previous four starts.