Hamels limited the Marlins to one run on seven hits with eight strikeouts, upstaging a solid season finale for Eovaldi, who yielded three runs in the first inning, but settled to strike out seven in six innings.
"He threw well after the first inning," Marlins manager Ozzie Guillen said. "It was ugly the first couple of innings; he couldn't find the strike zone and he was off, very off. After that, he threw the ball well. We gave him another inning to survive his problems and he did it.
"You take that inning away from him and to me, he pitched good enough. The first inning, again, we get down by three runs and Hamels is on the mound, then you got a lot of work to do."
The Marlins dropped two of three to the Phillies, and nine of their last 10 overall.
At a time the club is preparing to close out a difficult first year in their new home, Eovaldi continues to show potential. After the first inning, he retired 14 of his last 17, with six strikeouts.
His 3-7 record with the Marlins and 4-13 mark overall doesn't totally reflect the progress Eovaldi has made. In his last three starts, he gave up five earned runs in 20 innings (2.25 ERA) with 20 strikeouts.
"He throws hard. He's got a good arm," Phillies manager Charlie Manuel said. "The more pitches, the more experience he gets, he's going to get better. He got a little better after we scored the runs off him early. He settled in. He started getting the fastball over, his command got better. Then when he got ahead of us, he hooked us and changed speeds on us. Yeah, he's definitely got potential."
For the season, Eovaldi threw 119 1/3 innings at the big league level, and 154 1/3 counting Minor League numbers.
Acquired on July 25 from the Dodgers as part of the Hanley Ramirez trade, Eovaldi projects to be part of the Marlins' rotation next year.
The first pitch was delayed three minutes due to a distraction detected near the "K Meter" that is literally built into the center-field wall to update the Marlins pitchers' strikeouts.
"A door was open in the wall, a piece of wall," Guillen said. "I'd never seen it before. I told the umpire not to worry about it, because nobody's going to hit it there. Before that ball gets there, somebody will catch it because it's too far away. That was the delay."
Once the issue was resolved, Eovaldi struggled to get in sync, and he allowed three runs in a 37-pitch frame.
"Right by the 'K Meter,' a part of that wall is a gate," Eovaldi said. "It was open. It was like a chain-link fence. It was just different."
The right-hander walked Jimmy Rollins to open the game, and Juan Pierre singled to center. On the throw to third, Pierre advanced to second, avoiding the tag. Guillen disputed the call to no avail.
Chase Utley lifted a sacrifice fly, and Carlos Ruiz ripped a run-scoring double. An inability to turn a double play kept the inning alive for Philadelphia's third run. Domonic Brown lined to Jose Reyes for the second out. Ruiz was well off the bag, but Reyes' flip to Donovan Solano led him too much and sailed away, allowing Ruiz time to return to second. Nate Schierholtz drove in the third run with a single to left.
"I just wasn't locating the ball very well," Eovaldi said. "Falling behind in the count a lot. Not really locating my offspeed pitches. It was making the fastball easier to hit."
Hamels retired the first 10 batters he faced before Bryan Petersen singled with one out in the fourth inning.
Reyes' double put runners on double and third for Giancarlo Stanton, who tapped to third base. Petersen was thrown out at the plate by Pete Orr. An error by Hamels, trying to pick Reyes off second, moved runners to second and third.
Carlos Lee's RBI single put Miami on the board, but on the play, Brown's throw from right field and Ruiz' reach tag nabbed Stanton for the final out.
"The outs at the plate were aggressive, I liked it," Guillen said. "But we got men on second and third twice and we don't bring the guy in. You're talking about a three-run difference, and that could've tied the game. It would be a different baseball game.
"But like I say, this year you could put a lot of points on why we lost -- a lot, starting with me -- but I think the thing that killed this ballclub from April all the way to now is we don't bring the guys in for easy RBIs."