Iannetta homered twice and drove in a career-high eight runs and Arizona outslugged the Miami Marlins 13-11 on Friday night.

"I wasn't even paying attention. I was just happy," Iannetta said. "Then Gardy (bench coach Ron Gardenhire) told me to get out there, so I went. It was a ton of fun."

J.D. Martinez and Christian Walker also homered for the Diamondbacks, who can clinch their first postseason berth in six years with a win Saturday and a loss by St. Louis.

"We haven't accomplished any of our goals yet," Iannetta said. "It's a cliche and we've been saying it all year but we're just going to come out to the park tomorrow and try to win the next one."

Arizona erased a 9-7 deficit with five runs in the sixth.

Walker hit his first career pinch-homer to center off Jarlin Garcia to make it 9-8. David Peralta reached on an error before Dustin McGowan struck out A.J. Pollock. But Paul Goldschmidt walked and Martinez reached on an infield single ahead of Iannetta, who homered onto the walkway above the center-field fence to put the Diamondbacks ahead 12-9.

Iannetta's grand slam was his fifth and first since May 28, 2015. He hit multiple homers in the same game for the third time.

"We knew there was some offensive potential there for him," said Diamondbacks manager Torey Lovullo.

J.J. Hoover (2-1) pitched a perfect sixth for the win, his 11th scoreless appearance in his past 12 outings. Fernando Rodney pitched the ninth for his 39th save and 300th of his career.

"They enjoyed the moment and they shared it with me," Rodney said of his teammates. "In the shower room all of them threw something at my head."

McGowan (8-2) took the loss, giving up three runs, two hits and a walk with two strikeouts.

Miami clinched its eighth straight non-winning season.

"I honestly really don't know what to say after this," said Dee Gordon, who finished 3 for 6 with a double, an RBI and his 56th stolen base. "You can't control it. The only thing we can go out and do is what we did and the outcome is the outcome."

Arizona starter Zack Greinke allowed a season-high eight runs and nine hits over four innings, only his second outing of fewer than five innings this year. Greinke struck out three and walked two.

"Every time I thought I was going to make a good pitch, it didn't work out," Greinke said. "I didn't feel like my stuff was sharp."

The Diamondbacks have hit four-plus homers in consecutive games for the fourth time in club history and first time since 2006.

"We're driving toward something special and with where we are it's exciting," Lovullo said.

TRAINER'S ROOM

Diamondbacks: IF Chris Owings (fracture right middle finger) will not return during the regular season. Arizona had hoped to have Owings back for the season's final series against Kansas City but it hasn't healed properly.

STANTON WATCH

Giancarlo Stanton went 0 for 4 with two strikeouts, but drove in a run with an eighth-inning sacrifice fly for his 121st RBI to match the club record. Preston Wilson had 121 RBIs in 2000.

REPLAY REVERSAL

Realmuto was called out in the seventh trying to stretch a single into a double. Marlins manager Don Mattingly asked for a replay review and the call was reversed. Mattingly has been successful on 15 of 32 challenges this season.

UP NEXT

Marlins: LHP Dillon Peters (0-2, 5.40) will try again for his first career win as he makes his fifth start. Peters has struggled with his control, walking 12 in 21 2/3 innings and allowing 36 baserunners overall.

Diamondbacks: RHP Taijuan Walker (9-8, 3.45) has posted a 3-1 record and 2.14 ERA in his past six starts with 31 strikeouts in 33 2/3 innings. Walker will be facing the Marlins for the first time.