Justin Ruggiano drew a bases loaded walk in the first inning and the Marlins scored three runs in the eighth on RBI singles by Donovan Solando and Ed Lucas and a sacrifice fly by Christian Yelich.
Eovaldi (4-6) allowed three hits over 7 2-3 innings. He struck out five and walked two.
Roy Halladay (4-5) left the game with right arm fatigue after walking two of the first three batters he faced. He threw five strikes in 16 pitches before manager Ryne Sandberg visited the mound and eventually removed Halladay after a long discussion.
Luis Garcia relieved Halladay and walked the first two batters he faced - including Ruggiano - to give the Marlins a 1-0 lead.
Philadelphia used seven pitchers and they combined for nine walks.
Eovaldi issued a two-out walk to Cesar Hernandez in the eighth that ended his night. Mike Dunn came on to get the final out of the inning and Steve Cishek pitched the ninth.
Solano and Lucas hit consecutive RBI singles with the bases loaded off B.J. Rosenberg in the eighth and Yelich added a sacrifice fly.
NOTES: Adeiny Hechavarria has a six-game hitting streak against the Phillies. He is 9 for 23 during that stretch. ... Philadelphia RHP Kyle Kendrick was placed on the 15-day DL with right shoulder tendinitis, retroactive to Sept. 14. ... Miami RHP Henderson Alvarez (4-5, 4.05 ERA) will face Philadelphia RHP Zach Miner (0-1, 3.22) on Tuesday.