"You know it's tough on him, it's got to be," Brown said. "He probably won't say it's tough on him, but I would say it definitely is."
Hamels gave up a leadoff single to Placido Polanco in the sixth and a two-out RBI double to Ruggiano that snapped an 0-for-18 slump and put the Marlins ahead 2-1.
"I haven't been keeping track of what I've not been doing this past week. I just know it hasn't been good," Ruggiano said. "It snowballs on you. ... It was nice to come out and get that monkey off my back and get some hits and some RBIs and win games."
Chris Coghlan had two hits, including a triple, for the Marlins. He also made a diving catch in left field to take a hit away from Brown in the sixth with two runners on to end the inning.
"That's the difference between today's game and (Sunday's) game: We would get a few breaks, and today they caught balls that we hit," Manuel said. "It's hard to explain."
Philadelphia had a pair of runners on base with one out in the seventh, but Ryan Webb relieved Sanabia and retired pinch-hitter Laynce Nix and Jimmy Rollins to preserve the lead.
"We had a good chance when Nix pinch hit in the seventh, but we couldn't tie the game up," Manuel said. "That might have made all of the difference in the world."
Chase Utley was caught stealing to end the eighth.
Miami tacked on three runs in the bottom half. Ruggiano had an RBI single off Phillippe Aumont to score Polanco. Two batters later, Green blooped a two-run single to shallow center that Ben Revere couldn't come up with, making it 5-1.
Chad Qualls struck out two in a hitless ninth.
NOTES: Hamels is 2-2 with a 1.80 ERA in five starts at Marlins Park. ... Hechavarria stole the first base of his career in the first inning. ... Miami placed OF Matt Diaz on the 15-day disabled list, retroactive to May 19, with a bruised left knee and selected OF Jordan Brown from Triple-A New Orleans. ... Miami rookie RHP Jose Fernandez (2-2, 3.48 ERA) will face Philadelphia for the third time on Tuesday. He has tossed 13 scoreless innings with 14 strikeouts in the first two meetings. The Phillies counter with RHP Tyler Cloyd (0-0, 2.84).