PHILADELPHIA -- If the Marlins are going to solve their problems on the road, Philadelphia is the place to start.
Eovaldi (5-3) went 6 1/3 innings and got 12 of his 19 outs on fly balls. The right-hander hadn't won since May 26 and gave up 11 runs in his previous two starts.
"They were hitting a lot of balls in the air, but they went for outs," Eovaldi said. "It was a big game for us winning the first of the series."
Phillies starter Roberto Hernandez (3-6) allowed two runs and three hits, striking out six in six innings. Hernandez lined a single to right in the third inning for his first career hit after going 0 for 40.
Coming off a 3-7 homestand, the Marlins kicked off a four-game series with a rare victory in Philadelphia. They're only 10-26 at Citizens Bank Park since 2010, including two victories in their past 10 games. The Marlins are tied with San Diego and Tampa Bay for fewest road victories this season with 13.
But the Phillies are 16-22 at home this season and can't score runs in their cozy, hitter-friendly ballpark.
"I don't have an explanation for that," manager Ryne Sandberg said. "It needs to change. A night like this conducive for hitting, we need to do a better job at home."
The Phillies were shut out for the 10th time this season, and seventh time in their past 25 home games. They've lost three in a row after winning five straight on the road at Atlanta and St. Louis.
"I don't know if I've ever seen a shutout here," said Marlins manager Mike Redmond, who earned his 100th career victory.
The Marlins got all the runs they needed in the first inning. Derek Dietrich hit a single and Giancarlo Stanton was hit by a pitch. McGehee followed with a drive to right-center to score both runners. Though he only has one home run out of the cleanup spot, McGehee has 46 RBI.
McGehee has a 14-game hitting streak on the road. He's hitting .435 (27 for 62) with 10 RBI in those games.
"I'm just trying to use the whole field and hit the ball hard," McGehee said. "Just trying to stay with my approach and hope in the long run it works out."
Pinch-hitter Reed Johnson drove in a run in the ninth on a bloop single to left. Dietrich also had an RBI single in the inning.
Eovaldi pitched out of a jam in the fourth after Cody Asche ripped a double to put runners on second and third with two outs. He retired Domonic Brown on a shallow fly to end the inning.
Eovaldi allowed one walk and has issued only five in his last seven starts, covering 45 innings.
"I was able to locate my fastball and I was getting my off-speed pitches down in the zone," Eovaldi said.
The Marlins turned three double plays, including a nifty 6-4-3 started by Ed Lucas on a hard one-hopper in the hole by Carlos Ruiz in the eighth inning.
Injured Phillies ace Cliff Lee will throw his third bullpen session Tuesday. Lee has been sidelined by an elbow strain since May 20. He's hoping to return before the All-Star break. ... Phillies reliever Mike Adams received a cortisone shot on his ailing right shoulder last week and hopes to return after the All-Star break. ... Former Phillies OFs Pat Burrell and Bobby Abreu (currently with the Mets) were among those who turned out to honor Jimmy Rollins during a pregame ceremony. Rollins became the club's all-time hits leader on June 14. ... Marlins LF Christian Yelich, out with a back strain, is scheduled to play some rehab games this week and could be back in the lineup this weekend. ... Marlins SS Adeiny Hechavarria wasn't in the lineup for the third straight game because of a sore elbow. ... LHP Andrew Heaney (0-1, 1.50) goes for the Marlins against RHP David Buchanan (3-3, 4.95) on Tuesday night.