PHILADELPHIA -- John Mayberry Jr. is Mr. Extra Innings.
Domonic Brown reached on a fielding error by pitcher Edgar Olmos (0-1) with one out in the 11th and advanced on pinch-hitter Kyle Kendrick's sacrifice. After Freddy Galvis was intentionally walked, Erik Kratz walked to load the bases.
Mayberry followed with a line-drive homer to left. He circled the bases and was mobbed by teammates at the plate.
"That was definitely one to remember," Mayberry said. "It feels good. I'm not going to lie to you."
Mayberry entered the game in the seventh inning. He became the first Phillies player to hit a game-ending grand slam since Dale Murphy against the Chicago Cubs on Aug. 6, 1991.
"Sometimes with John, if you can get him with certain pitchers, that's when he becomes much better," Philadelphia manager Charlie Manuel said. "Sometimes, when he comes off the bench -- I wouldn't call him a great pinch hitter -- but when he goes into the game, and he gets some time in the game, the next at-bat he becomes much better. He kind of runs in spurts, and tonight, well, tonight, he put some good swings on the ball."
Michael Stutes (1-0) pitched a scoreless inning for the win.
Brown, who had eight homers in the previous eight games, was 0-for-5 for Philadelphia and made an error in left field. But the Phillies won their third straight to move within a game of .500. They haven't been even all season.
"We're going to see if we can have a go at it. That's what we come to the ballpark for," Manuel said.
A disputed call in the eighth went against the Phillies and drew the ire of the crowd. Ben Revere was called for interfering with second baseman Derek Dietrich while breaking up a double play although he slid headfirst and didn't appear to go out of his way or make much contact. Michael Young beat the throw to first, but umpire Bob Davidson called an automatic double play.
Manuel argued briefly and fans booed loudly and hurled a derogatory chant at Davidson.
"I don't know what he was seeing," Manuel said. "Bob's kind of getting a little old."
Revere said Davidson "needs glasses."
The last-place Marlins have lost two in a row since a three-game sweep over the New York Mets.
Phillies rookie starter Jonathan Pettibone allowed two runs -- one earned -- and seven hits in six innings.
Miami's Ricky Nolasco gave up two runs and four hits, striking out six in 6 2/3 innings.
"This ballpark is very dangerous," Nolasco said. "The game is never over in this ballpark."
Nolasco then fanned Galvis, but pinch-hitter Kratz hit an RBI double that just missed clearing the right-field wall to tie it at 2. Kratz ran in from the bullpen right before his name was announced, grabbed a bat and went up to the plate.
Galvis saved three runs with outstanding plays at second base. With runners at second and third and two outs in the eighth, he made a sliding backhanded grab on Casey Kotchman's bouncer up the middle and threw him out.
His first gem came with a runner on third, one out and the infield up in the second. Galvis snared Adeiny Hechavarria's hard one-hopper, held the runner and got the second out.
For the second night in a row, the Marlins jumped ahead 2-0 and couldn't hold it.
Phillies C Carlos Ruiz, out since May 20 because of a strained right hamstring, hopes to begin a rehab stint next week. ... Phillies RHP Roy Halladay was expected to meet with the team physician before the game and will speak to reporters on Wednesday. Halladay had shoulder surgery last month, but hopes to pitch again this season. ... Jonathan Papelbon tossed a perfect ninth in his first appearance since last Wednesday. ... Marlins CF Chris Coghlan was 0 for 5, snapping his 10-game hitting streak. ... The Marlins are 10-12 against the Mets and Phillies, 6-31 vs. the rest of the majors. ... Cole Hamels (1-9, 4.86 ERA) tries to avoid his 10th loss in the series finale Wednesday afternoon against Miami's Jacob Turner (1-0, 0.00).