The left-hander labored through his five-plus innings, allowing five runs on four hits and two walks while striking out five. After allowing four runs in the first two innings, Heaney was able to negotiate the next three frames unscathed.
"Every one of these starts is going to be a learning experience for him," Marlins manager Mike Redmond said. "There'll be some growing pains out there for him, but I liked a lot of things I saw out there with him."
The Marlins tied a franchise record with four wild pitches, and for a team that had just set a club record with 10 consecutive errorless games, the two miscues Miami committed on Tuesday night proved costly.
Heaney was in trouble for the majority of his second big league start. The outcome of the first batter he faced -- he hit Jimmy Rollins on an 0-2 count -- was a sign of the troubles to come.
"Frustrating obviously to hit the leadoff guy," Heaney said. "To be 0-2, obviously a little more frustrating."
Heaney walked Chase Utley two batters later, and then with Ryan Howard at the plate, Phillies manager Ryne Sandberg called for a double steal. A good throw would have gotten Rollins at third, but Jarrod Saltalamacchia bounced it to Casey McGehee for an error. The ball trickled toward the visitors' dugout, allowing Rollins to score the game's first run.
After Heaney struck out Howard swinging, Marlon Byrd hammered a 1-2 fastball to straight-away center field for a two-run homer to make it 3-0.
That was the source of Heaney's struggles early on -- the inability to finish batters off with his fastball.
"Kept making mistakes with the fastball late in the count and giving guys chances instead of putting them away, and they capitalized on it," Heaney said.
On the Byrd homer, Saltalamachhia called for it down and away, but Heaney missed his mark.
"Down and away and I left it middle, up. He hit it hard," Heaney said.
Pitch count was another issue for the rookie. After two innings, Heaney was already at 44 pitches. And despite throwing a scoreless third, fourth and fifth, he still needed 49 pitches to get through them.
"I'm not really being terribly aggressive in the zone right now with fastball and changeup, and so you're going to have long at-bats," Heaney said. "I'm not making good pitches to have them second-guessing a little bit. They're looking for a pitch middle, and I'm throwing it middle."
The Marlins got back a run in the second on an error by Utley. The second baseman dropped a popup by Ed Lucas in shallow right field, allowing Saltalamacchia to score. But Lucas was ruled out, as the infield fly rule was called late.
"I didn't see him call the infield fly, so there was definitely some confusion out there," Redmond said. "I don't think anyone knew what was going on out there."
But Miami gave the run right back, with a wild pitch by Heaney in the bottom half of the inning allowing Ben Revere to score.
The Phillies left the door cracked open for the Marlins early, but they couldn't break through and take advantage. The Marlins left seven men on base through the first five innings, and were 1-for-7 with runners in scoring position over that span.
"We had some opportunities," Redmond said. "We had quite a few guys on base early in that game, and had we been able to get that big hit, maybe early on, at least we could have kept it a little bit closer of a game or maybe give us a little bit of breathing room."
After Howard doubled off Heaney to lead off the sixth, Redmond pulled the rookie in favor of righty reliever Bryan Morris.
In the next at-bat, Derek Dietrich couldn't corral a lightly hit ball by Byrd as the second baseman retreated onto the outfield grass for his ninth error of the year. Then Cody Asche, who went 3-for-3 in the series opener, doubled down the first-base line to bring home two insurance runs and make it 6-2.
With Domonic Brown at the plate, Morris then threw a wild pitch that allowed Asche to touch home.
McGehee tacked on a run in the fifth with a sac fly and Garrett Jones brought home two with a homer in the eighth, but it was in vain, as Miami's plethora of miscues were too much to overcome.
"Today we didn't get the big hit," Redmond said.