MIAMI -- Philadelphia Phillies left-hander Cole Hamels struck out a season-high 10 batters Monday night, but it wasn't enough to top Alex Sanabia or stop the Miami Marlins from putting together rare back-to-back wins.
Justin Ruggiano's two-out, RBI double in the sixth off Hamels broke a 1-1 tie, and the run-starved Marlins beat the Phillies for the third straight time, 5-1, in front of an announced crowd of 13,231 -- the smallest of the season at Marlins Park.
Miami (13-32) hadn't posted consecutive wins since taking the final two games of a four-game series at Philadelphia on May 4-5.
Sanabia (3-6) scattered seven hits over 6 1/3 innings. He allowed one run while walking one walk and striking out three, and he ended a personal five-game losing skid thanks to some help from his bullpen.
Ryan Webb, who came into the game tied with Phillies closer Jonathan Papelbon for the longest current scoreless innings streak in the majors, delivered two huge outs after replacing Sanabia with runners on the corners and one out in the seventh.
First, the 27-year old right-hander got Laynce Nix, pinch-hitting for Hamels, to fly out to shallow right field. Then, he ended the inning by getting Jimmy Rollins to ground out to second. Webb, who extended his career-best scoreless streak 17 1/3 innings, hasn't given up an earned run since April 17.
The Marlins, last in the majors in every major offensive category, then tacked on three runs off the struggling Phillies bullpen in the eighth. Ruggiano, one of four Marlins who had two hits, singled home former Phillies third baseman Placido Polanco with a single to center. Nick Green blooped a two-run single to center two batters later.
Hamels (1-7) took his fourth loss in a row. He gave up seven hits and two runs while throwing 89 pitches in six innings. Hamels was striking out Marlins left and right before Ruggiano doubled high off the right field wall in the sixth, scoring Polanco from first.
The Phillies, who fell to 1-9 in Hamels' starts and 21-24 overall, had a chance to tie the score in the sixth. However, Chris Coghlan made a spectacular diving catch to save a run when he ran hard toward the left field line and sprawled out to haul in a softly hit fly ball by Domonic Brown with runners on first and second.
Hamels has allowed five runs in three matchups against the Marlins this season, but has received only two runs of support. He came in ranked ninth among major league starters in terms of lowest run support with a 3.02 average per game.
Three rookies -- Adeiny Hechavarria, Derek Dietrich and Marcell Ozuna -- singled off Hamels in the first inning to stake the Marlins to an early lead. Hechavarria led off with a single to right, then stole second base before Dietrich sent a grounder deep at second, putting runners on the corners. Ozuna drilled a 1-2 pitch from Hamels into center field, giving Miami a 1-0 lead.
Brown erased the Marlins' advantage an inning later when he drilled the first offering from Sanabia for a 388-foot solo shot to right field. The home run was Brown's eighth of the season -- tops on the Phillies.
The Marlins, the lowest-scoring team in baseball, got a leadoff triple to center by Coghlan in the bottom half of the second. However, Hamels worked out of trouble, getting Green and Jeff Mathis to pop out before striking out Sanabia to end the threat.
NOTES: The Phillies placed C Carlos Ruiz on the disabled list Monday, a day after he sustained a grade two right hamstring strain running the bases in a win over the Cincinnati Reds. He's expected to miss three to four weeks. Erik Kratz is expected to get the majority of starts while Ruiz is out. ... Philadelphia 1B Ryan Howard missed his second straight start with an inflammation in his left knee. Michael Young started at first in Howard's place again. ... The Phillies promoted C Humberto Quintero from Triple-A Lehigh Valley, and they placed RHP Michael Adams on the disabled list, retroactive to May 11, due to a back strain. ... The Marlins placed veteran OF Matt Diaz on the disabled list with a bruised left knee and called up OF/1B Jordan Brown. Brown, who last played in the majors with the Indians in 2010, was hitting .261 with 10 runs, six doubles and 12 RBIs for Triple-A New Orleans.