Jeff Mathis' grand slam with one down in the bottom of the ninth inning, the 3,000th home run in franchise history, sent Miami past San Diego, 6-2, in the third edition of a four-game set.
Tyson Ross (0-4) walked Logan Morrison and served up a single to Marcell Ozuna before retiring Derek Dietrich on a fly out. Pinch-hitter Greg Dobbs was intentionally walked to load the bases, and, despite a five-man infield for the Padres, Mathis launched his game winner to left.
"Any time you are celebrating with your team on the field, no matter what it is, it's a good feeling," Mathis said of his walk-off grand slam.
It made a winner of Steve Cishek (2-4), who turned in a scoreless top of the ninth.
Dietrich drove in two runs, while Morrison and Ozuna each finished with two hits and two runs scored for the Marlins, winners in two of three in the series and seven of nine overall.
Carlos Quentin hit a two-run homer for the Padres, losers in six of eight.
The Marlins snapped the scoreless deadlock in the fourth, picking up a pair of two out runs on Dietrich's double. Morrison and Giancarlo Stanton, who singled after Padres starter Andrew Cashner retired the first two batters he faced, came in on the hit.
San Diego equalized in the seventh, as Yasmani Grandal walked with one out and Quentin launched a pinch-hit two-run shot to left center.
"We got the big hit from (Quentin) to tie it up there in the seventh," Padres manager Bud Black said.
Mathis' second career grand slam also raised his average to .129 ... Marlins starter Nathan Eovaldi tossed six scoreless innings, allowing four hits and three walks ... Cashner also worked six innings, allowing five hits and two runs ... Black celebrated his 57th birthday on Sunday, but suffered his first defeat on this special day as San Diego skipper (5-1).