"They set up the table and I just had to finish it," Cantu said. "Give credit to those guys ahead of me -- they're the ones who put it all in motion."
Lyon (2-2) ended a career-high 15 consecutive outings without a blown save. It was the first time since April 2 against Cincinnati he failed in a save opportunity.
"It's a tough one, especially going home, it's a long flight," Lyon said. "The way we played this series we should have come out with at least two out of three. It's kind of the way things are going right now, when one thing is not going good things keep slipping."
Joe Nelson (1-0) gave up one hit in the ninth to earn his first win of the year for the Marlins, who have beaten the Diamondbacks five out of six times this season at Dolphin Stadium.
The Marlins entered Sunday trailing Philadelphia by two games in the NL East.
Too bad Arizona doesn't come back to Miami until next year.
"We just kept battling and battling. That's the strength of this ballclub; you hang around and always believe that something good can happen," Marlins manager Fredi Gonzalez said.
"Hopefully, games like this will get us going and give us some momentum. This is the type of win that can get us rolling."
For Arizona, it was another wasted pitching performance.
Dan Haren struck out seven and allowed five hits in six innings for the Diamondbacks, who ended their nine-game road trip 2-7.
"I'm glad we don't come back here this season," Haren said. "For whatever reason, they have just had our number here."
Stephen Drew's two-run homer in the third gave the Diamondbacks a 2-0 lead. The homer was his 11th of the season. Chris Burke hit an RBI single in the seventh, scoring Conor Jackson and putting the Diamondbacks ahead 3-1.
Scott Olsen gave up three runs and five hits in seven innings for the Marlins, who have beaten the Diamondbacks five of six times this season. Olsen, who has pitched effectively but hasn't got much run support, hasn't won since May 6 against Milwaukee.
"We've been struggling, so it's nice to get a win like this," Olsen said.
- Marlins 2B Dan Uggla was out of the lineup after he sprained his left ankle Saturday and had to leave the game. He said Sunday he should be able to play in a few days.
- Diamondbacks OF Eric Byrnes was out of the starting lineup after going 0-for-5 on Saturday. Drew batted leadoff in his place. Diamondbacks manager Bob Melvin said he won't put Byrnes at leadoff when he returns to the lineup Monday.
- The Diamondbacks took fielding practice before the game after committing two errors the night before. Arizona has only taken fielding practice two or three times this season, Melvin said.