It had been a 1-1 game since the third inning when Ruggiano launched a 3-1 pitch from reliever Aroldis Chapman (2-1) over the wall in left-center. It was the first run scored against Chapman in 7 1/3 innings this season.
Miami won for just the fourth time in 17 games this season.
Cincinnati's only run came in the first on a sacrifice fly by Joey Votto. The Marlins tied it in the third when Placido Polanco singled in Nick Green. Donovan Solano was thrown out at the plate trying to score from second on the hit.
Ruggiano's homer made a winner out of Mike Dunn (1-0), who recorded the final two outs in the eighth. Steve Cishek survived a leadoff, infield single in the ninth to earn his first save.
N.J. man wakes up from 10-hour sleep with knife in back
Wisconsin business offering 'therapeutic cuddling' forced to close