For the second straight game, the Phillies relied on a late-inning home run to roll past the Marlins, who lost all six games on the road trip. Miami has dropped seven straight games after a 5-1 start.
Utley's blast to right came off Mike Dunn, who logged two quick outs in the eighth. In the series, Utley finished 7-for-12 (.583) with three doubles, one home run and four RBIs.
A day after Jimmy Rollins' walk-off homer in the 10th inning lifted Philadelphia to victory, the Marlins held a 3-1 lead in the fifth inning, courtesy of Garrett Jones' solo home run off Kyle Kendrick.
Counting being swept at Washington to open the trip, Miami relievers surrendered home runs in the eighth inning three times, with two being grand slams.
Ryan Howard added a solo shot for the Phillies in the third inning.
"We've been victimized three games now on this road trip on late-inning big hits," Miami manager Mike Redmond said. "Our bullpen, over the course of time, especially last year, has been really good. This road trip, we've coughed up a couple of leads."
Miami's two-run advantage in the fifth was short-lived as Henderson Alvarez, who worked six innings, allowed a two-out hit in the bottom of the fifth. Utley led off with a single, and Alvarez seemed to have the inning in order after he struck out Howard looking and got Marlon Byrd to lift a routine fly ball to left. Domonic Brown, with the Marlins' shifting, slapped the ball through the open space at short for a single. Wil Nieves went to the opposite field with a two-run double to right to tie the game.
"The Phillies are a good hitting team," Jones said. "You can't count them out. This is a good hitters' park. You don't have to square it up to hit it out of here. They just kept battling back, both nights. You've got to tip your cap to them. They play tough baseball.
"We've got to keep our heads high. We're losing and we're a hit away, a pitch away, from winning the ballgame. We've got to trust what we're doing and continue what we're doing and get back on track to when we started the season. Just executing a little better and get back on track."
A run-saving play came in the sixth inning when the Phillies nearly claimed the lead on Utley's double to left. Tony Gwynn Jr., who singled to open the inning, attempted to score from first when Christian Yelich bobbled the ball in the corner. But he recovered and threw to shortstop Adeiny Hechavarria, whose relay throw to the plate was a perfect strike.
Catcher Jeff Mathis applied the tag on a close play. Home-plate umpire Mark Ripperger called Gwynn out, and Phillies manager Ryne Sandberg came out to request an umpire review of the league's collisions rule. After a 54-second review, the umpires determined no violation was observed.
MLB's collision rule still remains a murky issue, as catchers try to figure out what they are not allowed to do. The way Mathis approached the play was to let instincts take over.
"Just habit to try to get in front of it," Mathis said. "I'm not really thinking about the rule at the time. Hech made a great throw, and the ball got there before he got to me. I think that's why they made the rule that they did. I think that's the explanation they were given."
Utley was denied an RBI by the play at the plate in the sixth inning, but he left no doubt with his decisive home run.
"He's a smart hitter," Dunn said. "He's been around a while. He was sitting on slider. He wasn't fooled."
It was Utley's first game-winning homer in the eighth inning or later since Aug. 10, 2012, against the Cardinals.
"Just finding some holes, to be honest," Utley said of his hot stretch. "Not trying to do too much. Put the ball in play, and right now they're falling."
When Casey McGehee slapped a two-out RBI single to left in the first inning, it gave Miami its first lead of the series. The run off Kyle Kendrick was unearned because Yelich reached on a two-base error at first by Howard, who was unable to handle the high chopper.
Yelich came through in the second inning with a two-out run-scoring single. Mathis, who singled and moved to second on Alvarez's sacrifice bunt, raced home from second to put Miami ahead by two runs.
Even though he had a two-run cushion, Alvarez was in trouble for most of the game. The 12 hits he allowed matched a career high for a start, and the home run to Howard was the first blast he allowed this season. Last year, he gave up just two home runs.
"I think everyone has to take ownership in this road trip, and the 0-6," Redmond said. "You can't just look at one, it's all of us. We've got to get better. We went into this road trip feeling really good. We were tested. We knew it was going to be a test. We realize now how much work we still have to do to get to where we want to go."