The usually reliable Andrew Chafin relieved starter Patrick Corbin with one out in the sixth inning and the D-backs clinging to a 4-3 lead. But Chafin threw eight consecutive balls, and his night was done.
Jake Barrett followed with a controversial hit batsman before yielding a two-run single to pinch-hitter Ichiro Suzuki, and the Marlins had the lead for good.
Tyler Clippard and Enrique Burgos each gave up a run in an inning of work apiece.
Arizona manager Chip Hale said he had no second thoughts about bringing in Chafin with the lead in the sixth.
"Not really," he said. "Not after the home run. The balls were up. I feel really good about Andrew facing righties. He's gotten them out all year. He just wasn't sharp. It's OK, it's part of the game, and he'll be ready tomorrow."
D-backs shortstop Nick Ahmed could hardly believe his eyes.
"It's really uncharacteristic of Chafin," Ahmed said. "I've played with him for three straight years, and I've never seen him to do that. So we're not worried. He'll come up strong tomorrow."
That seemed to be the theme following Tuesday's setback.
"I wasn't throwing strikes," Chafin said. "I knew, warming up in the bullpen, it was going to be a tough one. I didn't have a good feel today. It's part of the game. There's days you go out there, and you just have to fight through not having a feel for anything. It's as simple as that.
"My sinker was running about three feet to the left today. I was just unable to make the adjustments."
But like his teammates, he isn't going to dwell on it.
"Once in a while you have a bad day," Chafin said. "There's nothing I can do about it besides learn from it, try to figure out a way to fix the situation quicker next outing.
"As soon as I leave the park today it'll be done and over with, and tomorrow's a new day."