Miami has won two straight for the first time since beating Philadelphia on May 4-5 at Citizens Bank Park.
"I haven't really been keeping track of what I've not been doing," said Ruggiano, who came into the game not having a hit since homering against the Dodgers on May 12. "I just know it hasn't been good this last week. Sometimes things can snowball on you.
"I'm trying to grind out extra work, extra hitting, as many things as I could think of to get myself through. So it was nice to come out and finally get that monkey off my back, and get some hits, and also some RBIs to help win a game."
Before the game, Marlins hitting coach Tino Martinez met with the position players and discussed the importance of situational hitting. Ruggiano came through with an RBI double in the sixth inning that put Miami in front to stay.
Ruggiano added a run-scoring single in a three-run eighth inning, and Nick Green provided some insurance with a two-out, two-run single.
"We've been sitting there talking about that bloop that falls and gives us a little breathing room," manager Mike Redmond said. "Greeny got that. But [Ruggiano] had some good at-bats with runners in scoring position, and we've been waiting for those base hits. And tonight, we were fortunate enough to get a couple of them."
Right-hander Alex Sanabia was solid in 6 1/3 innings, giving up one run while snapping a string of losing five consecutive starts.
It was Sanabia's first victory since beating the Nationals on April 16.
"It's been a while," Sanabia said. "It's been a few outings since I've had one. But it feels great just to get one."
Miami is last in the big leagues in runs scored with 127, and Martinez made it a point to stress to the hitters the need to have a plan at the plate.
"Tino kind of talked to us before this game," Ruggiano said. "He was like, 'You guys need to pay a little bit more attention to situational hitting and have a plan, an idea of what you want to do when you get into those situations.' He's right. We've been awful at it. We're not denying that right now. We just can't just sit here and dwell on the fact that we've been so bad at it the first quarter of the season. We need to start making the adjustments and have a plan on how to fix it for the rest of the season."
The Marlins collected 11 hits, with seven off Cole Hamels (1-7), who struck out a season-high 10 in six innings.
Miami was able to push across the go-ahead run in the sixth on Ruggiano's two-out double to right. Placido Polanco singled to open the inning, but Hamels promptly struck out Derek Dietrich and Marcell Ozuna.
Ruggiano ended his slide with his run-scoring double, giving the Marlins a 2-1 edge.
After delivering the game-winning two-run double in Sunday's 2-1 win over the D-backs, Ozuna again provided a run-scoring hit in the first inning.
The lead was short-lived as Domonic Brown belted a one-out home run in the second. It was Brown's eighth homer of the season, with three coming against Miami.
Sanabia had to battle all night, and in the seventh he was lifted after issuing a one-out walk to Freddy Galvis and a single to Erik Krantz. Ryan Webb continued his impressive string out of the bullpen. The right-hander, facing runners on the corners and one out, retired pinch-hitter Laynce Nix on a fly ball to short right field. Galvis faked like he was heading home, but he stayed at third as Ozuna unleashed a rope to home plate. The threat ended when Jimmy Rollins bounced out to second.
In the eighth, A.J. Ramos issued a two-out walk to Chase Utley, who was thrown out by catcher Jeff Mathis trying to steal second. Hechavarria made a nice scoop on the throw and tagged Utley on a bang-bang play that Utley and manager Charlie Manuel each protested.
"You know what? Baseball is a real funny game sometime," Manuel said. "Sometimes people beat you when you're not playing good and you're not consistent. I don't look at that as saying the Marlins are so much better than we are because they beat us that [four] times. It just so happens that they beat us that many times."