Updated

Chase Utley went 3-for-4 with his second three-run home run in as many nights as the Philadelphia Phillies took a 6-4 win over the Miami Marlins in the second of a three-game set.

Roy Halladay (4-4) pitched well enough to pick up the win as he threw six innings and allowed one run and just four hits. The righty struck out two while walking to pick up his first decision since a win on August 25.

"Today was good because I was able to locate consistently," Halladay said. "The execution of pitches, I felt like it overall continued to get better. There's obviously some ups and down along the way. I was definitely satisfied with the execution of pitches."

Carlos Ruiz drove in the other two runs for Philadelphia, which has won three of the last four. Cesar Hernandez, Jimmy Rollins and Utley carried the load by notching eight hits combined and scoring all six runs.

The Marlins offense was spread among Ed Lucas, Justin Ruggiano, Giancarlo Stanton and Adeiny Hechavarria as they each knocked in a run. Christian Yelich went 3-for-4 and scored one run for Miami, which has lost four straight.

"We're still waiting for that one big hit to put us over the top. And it just seems tough to get," Miami manager Mike Redmond said. "They got a couple big hits of their own, a big home run to put them up three, and that ends up being the difference."

Miami rookie starter Brian Flynn (0-2) gave up 11 hits and six runs over six innings while recording four strikeouts and walking one.

The Phillies jumped out to a 3-0 lead in the bottom of the third as consecutive singles from Hernandez, Rollins and Utley scored one run and Ruiz drove in the other two with a single.

Miami scratched together a two-out run in the fifth inning as Donovan Solano doubled and Lucas followed with a single to make it a 3-1 game.

Philly, though, answered in the bottom of the inning as Utley's three-run home run, his 18th of the season, made it a 6-1 game.

In the eighth inning the Marlins got to reliever B.J. Rosenberg and snapped his streak of 12 2/3 scoreless innings after he gave up two runs. Yelich led off with a single and later scored on Ruggiano's double. Hechavarria's single made it a 6-3 contest. Jake Diekman then replaced Rosenberg and struck out Placido Polanco to end the frame.

Jonathan Papelbon came in for the close in the ninth and gave up one run on Stanton's RBI single, but struck out Ruggian to pick up his 28th save of the season.

Game Notes

Halladay's win gives him a streak of 114 when leading by four or more runs, matching Pedro Martinez ... Juan Pierre had a pinch-hit double in the seventh inning for Miami. It was his 2,214th hit, tying Joe DiMaggio for 175th on the all-time list ... Hernandez, Rollins and Utley combined have gone 14-for-25 with nine RBI and 10 runs scored in the first two games of the series ... Philadelphia has won seven in a row against Miami and moved to 11-4 on the season.