PHOENIX — J.D. Martinez has only spent 59 games in the National League, but his manager believes he deserves MVP consideration.

Martinez tied Ralph Kiner's NL record with his 16th homer in September, sparking a three-run, ninth-inning rally that led the Arizona Diamondbacks past the San Francisco Giants 4-3 on Wednesday.

"This guy is unbelievable," said David Peralta, who capped off the rally with a game-ending, bases-loaded walk. "I told him, 'Hey, you've got four at-bats without a home run.' Boom! Next at-bat, he hit a home run."

Martinez has 45 homers this season, 29 of them in his 59 games with the Diamondbacks, who acquired him in a trade with the Tigers on July 18. He hit 16 homers in 57 games with Detroit.

His 36 RBIs this month set an Arizona record, surpassing Luis Gonzalez' 35 in June 2001.

The major league record for September homers is 17, by Babe Ruth in 1927 and Albert Belle in 1995.

"What can you continue to say about J.D.? He hits his 16th home run and you're talking about historical records now," manager Torey Lovullo said. "He's locked in."

The Diamondbacks began their stirring 2017 season with a come-from-behind, walk-off win over San Francisco. Their final home game of the regular season ended in similar fashion against the same team.

"I guess we started how we finished at home, and these guys did not shut down on a day game after a night game," Lovullo said.

Arizona will be back in action at Chase Field next Wednesday in the NL wild card game.

Daniel Descalso jogged home with the winning run on Peralta's walk for the Diamondbacks' ninth walk-off win of the season.

"The way we came back in this game was unbelievable. We never give up. We always fight anybody," Peralta said. "I was really patient in that at-bat. The pressure is on the pitcher."

All of the runs were charged to Giants closer Sam Dyson (3-3). J.J. Hoover (3-1) earned the win in relief.

Medford native Braden Shipley got the start, pitching 3 1/3 innings and allowing all three runs, four hits and two walks with two strikeouts.

Zack Greinke was scheduled to start Wednesday's game, but he'll start Friday and is expected to be the team's starter for the wild card contest on Oct. 4.

Jake Lamb and A.J. Pollock followed Martinez's homer with singles. Pinch runner Kristopher Negron was thrown out at home by Joe Panik on a fielder's choice by Descalso.

After an intentional walk, John Ryan Murphy reached on a fielder's choice to drive in Pollock before Peralta drew the walk.

Pablo Sandoval doubled twice and drove in two runs, and Jeff Samardzija threw three-hit ball for six innings for the Giants. He struck out four with a walk, allowing one run.

Denard Span tripled, doubled and scored twice.

Lamb hit his 29th homer of the season in the fifth, a solo shot to right field. Lamb has 103 RBIs.

Murphy, who came into the game in the fifth at catcher, recorded his first hit as a Diamondback with a sixth-inning double.

Diamondbacks relievers Anthony Banda, Jake Barrett, Andrew Chafin and Hoover held the Giants scoreless on two hits over 5 2/3 innings.

CAIN CALLS IT A CAREER

San Francisco right-hander Matt Cain said he'll retire after his start at home on Saturday against San Diego.

The 32-year-old Cain informed teammates of his decision in a closed meeting before the game. He pitched the first perfect game in Giants history in 2012.

Cain, 3-11 this season, made his big-league debut with the Giants in 2005. He pitched in two of the Giants' three winning World Series appearances since 2010. The right-hander has a career record of 104-118 with a 3.69 ERA.

The three-time All-Star is nearing the end of his contract with the Giants, who have an option for one more season.

The Giants announced they will honor Cain's career at Sunday's regular season finale, which also falls on Cain's 33rd birthday.

Before the bottom of the first inning, the crowd was informed of Cain's decision in a public address announcement, and Cain doffed his cap to the fans and the Diamondbacks dugout in appreciation of the gesture.

SUNDAY RAY DAY

Left-hander Robbie Ray, who started and won Tuesday night's game, will start Sunday in the regular season finale at Kansas City. He is expected to be available if needed in next Wednesday's NL wild card game.

Starters Zack Godley and Patrick Corbin will work out of the bullpen Friday and Saturday.