MIAMI (AP) -- Bases loaded, tie game, bottom of the ninth inning. Dan Uggla has longed to be in that situation.
When the opportunity arose, he delivered in dramatic style.
Uggla hit a game-ending grand slam with one out in the ninth off Tom Gordon, and the Florida Marlins beat the Philadelphia Phillies 6-2 Wednesday for their second win in as many nights against the NL East leaders.
"The whole at-bat, I'm looking for one pitch in one spot," Uggla said. "Whether I get it or whether I chase something, I'm looking for something I can drive out in the outfield."
Or in this case, drive over the outfield.
It was a no-doubter; the ball sailed high into the night, he threw his right arm in the air after dropping the bat and the Marlins dugout immediately emptied while the Phillies slowly walked off the field.
Uggla shed his helmet rounding third, then leaped into the mob that awaited him at the plate.
"We were just looking for a sacrifice fly there," Marlins manager Fredi Gonzalez said with a wry smile. "The ball just carried a little bit. Hate when that happens."
Gordon relieved Hamels to start the ninth and gave up a single to Cantu and a pair of walks. Gordon (5-3) fell behind Uggla as well, and the Marlins' stocky slugger crushed a 3-1 offering high over the left-field scoreboard for his team-leading 19th home run.
"I just left it over the plate," Gordon said. "And he got it."
Until the ninth inning, the pitchers were in charge.
Cantu hit a solo homer in the first, and Hamels responded by retiring the next 17 Marlins he faced. That streak ended in the seventh when Cantu struck again, marking his second multihomer game in five days.
Marlins starter Andrew Miller was plenty dominant in his own right. He retired 14 straight at one point, and ended up allowing only one run and four hits in seven innings while striking out seven.
"It was like old-time baseball there for eight innings, with Hamels and Miller matching up," Gonzalez said. "Great ball game."
The Phillies offered a different perspective.
"We had our chances," Phillies manager Charlie Manuel said, "but it didn't work out."
Gregg entered in the ninth with a 2-1 lead and quickly got into a first-and-third, no-out situation after a single, a walk and a stolen base.
Gregg struck Shane Victorino out on an 82 mph breaking ball, then got Utley to hit a grounder to second that could have ended the game -- but shortstop Hanley Ramirez double-clutched the ball before throwing to first, allowing Utley to beat the play and bringing pinch-runner Eric Bruntlett home with the tying run.
The Phils would up leaving the bases loaded in the ninth, and Uggla made them pay.
"He hit it pretty good," Gonzalez said.
The way Miller was rolling along, it seemed like Florida could have its first complete game since Sept. 10, 2006, when Dontrelle Willis threw a three-hitter to beat the Phillies 3-0.
The losing pitcher that night? Hamels, who gave up three hits in this game. Take away Cantu's 2-for-3 showing, and everyone else in the Marlins' lineup went 1-for-23 against the Philadelphia left-hander.
"I made a lot of the right pitches," Hamels said. "But if you make mistakes, they are going to hurt you."
Miller faced the minimum 18 batters through six innings.
The Phillies finally broke through in the seventh. Victorino hit a one-out double to center field, then came home on Utley's sharp single. Cantu put the Marlins ahead in their half of the seventh with his 14th homer.
And then Uggla came through with the Marlins' 101st home run of the season, the most in baseball.
About a week ago, he and Cody Ross were involved in a conversation about how neither had ever hit a game-ending homer in the majors. Ross got his Saturday night against Cincinnati, and now, Uggla knows the feeling.
"It's crazy," Uggla said. "It's a really, really great feeling."
After the game, the Marlins designated OF Jacque Jones for assignment. ... With a shift on, Phillies 1B Ryan Howard grounded into a 6-5 fielder's choice in the seventh. The Marlins had Helms move from third to the second base spot for the shift, leaving Ramirez to play short. Helms took the flip from Ramirez and tagged out Utley, who beat the play but overslid the bag.