PHILADELPHIA -- If this was Roy Halladay's last start in red pinstripes, he went out a winner.
Halladay (4-4) allowed one run and four hits in his fifth start after returning from right shoulder surgery. The two-time Cy Young Award winner didn't top 88 mph and relied on guile to get outs.
Halladay will be a free agent after the season and his last two starts will be on the road, so he might not pitch in Philadelphia for the Phillies again.
"Unfortunately, that's out of my control," Halladay said. "I honestly didn't think about it. I don't look that far ahead in the schedule."
The top three hitters in Philadelphia's lineup -- Cesar Hernandez, Jimmy Rollins and Utley -- were 8 for 12 with four RBI and six runs.
Jonathan Papelbon allowed an RBI single to Giancarlo Stanton before finishing for his 28th save in 35 chances.
Marlins starter Brian Flynn (0-2) gave up six runs and 11 hits in six innings.
Juan Pierre, pinch-hitting for Flynn in the seventh, hit a double to right for his 2,215th career hit, tying him with Hall of Famer Joe DiMaggio for 175th on the all-time list.
"I never set out to beat any of those guys," Pierre said. "I know all about Joe DiMaggio and what he meant to the game. Just to be mentioned with him is pretty cool."
The going-nowhere Phillies improved to 18-13 since interim manager Ryne Sandberg replaced Charlie Manuel on Aug. 16. They have won seven straight against the last-place Marlins.
Utley hit an RBI single in the first and Carlos Ruiz followed with a two-run single for a 3-0 lead.
Utley connected off Flynn in the fifth, driving one off the facing of the second deck in right field for his second three-run shot in two games. He has eight RBI in the past two nights.
Halladay improved to 114-0 when he's given a four-run lead, the longest streak since Pedro Martinez retired at 114-0 in similar situations.
"Doc battled for six innings, he gutted it out," Sandberg said. "He made pitches when he had to and used his defense."
Sandberg added that he's optimistic Halladay will improve his velocity after an offseason of rest and workouts.
Halladay is finishing his fourth season with the Phillies. He was 40-16 in his first two years, pitched a perfect game in May 2010, threw a no-hitter in his first postseason start later that year and was the NL Cy Young Award winner. He helped the Phillies finish with the best record in the majors both years.
"Hopefully I'll have a chance to pitch again," he said.
The Marlins got two runs off B.J. Rosenberg in the eighth. Justin Ruggiano doubled one in and scored on Adeiny Hechavarria's single.
"I liked the way we battled back," Marlins manager Mike Redmond said. "We had the guys we wanted up there at the end. We gave ourselves a chance."
The Phillies are 71-80 with 11 games remaining in a season that was over a long time ago. Last year, they were 77-74 with 11 games left and only trailed St. Louis for the second wild-card spot by three games. They went 4-7 the rest of the way, finished 81-81 and snapped a string of five consecutive NL East titles.
Utley's home run was his 217th, tying him with Cy Williams for seventh on the club's all-time list. ... The Phillies are 11-4 vs. the Marlins this season. ... Domonic Brown won the Mike Schmidt Award for Most Valuable Player, given annually by the Philadelphia chapter of the Baseball Writers' Association of America. Cliff Lee won the Steve Carlton Award for Most Valuable Pitcher. Kevin Frandsen won the Tug McGraw Award for True Professionalism. Manuel won the Dallas Green Award for Special Achievement. Manuel won his 1,000th career game as manager days before he was fired. ... Kyle Kendrick was scratched from Wednesday's start because of right shoulder soreness. Zach Miner (0-1, 3.71) will take his place against Miami's Nathan Eovaldi (3-6, 3.80).