Wilfredo Lee, Associated Press
Florida Marlins' Dan Uggla celebrates as he heads for second base after hitting a game-winning grand slam Wednesday in Miami.

MIAMI — 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."

It was the first game-ending home run in Uggla's career, and the second such slam in Marlins history: Bobby Bonilla did it Sept. 16, 1997, against the Colorado Rockies.

Jorge Cantu homered twice for the Marlins off Cole Hamels, who was nearly flawless otherwise. Hamels struck out 13 in eight innings.

PIRATES 3, NATIONALS 1: At Pittsburgh, Ryan Doumit homered for the third time in two games for Pittsburgh and Ian Snell pitched into the seventh inning to earn his first win in 11 starts. Doumit singled twice and Freddy Sanchez had two hits and scored a run for the Pirates, who have won three of four. A day after blowing his first save of the season, Matt Capps earned his 16th save by getting Elijah Dukes to ground into a game-ending double play.

CARDINALS 10, REDS 0: At Cincinnati, Rick Ankiel and Jason LaRue homered off Johnny Cueto, and St. Louis' Braden Looper pitched a three-hitter for his first career shutout.

Ryan Ludwick also homered for the Cardinals, who won their fourth straight.

CUBS 7, BRAVES 2: At Chicago, Ryan Dempster pitched a four-hitter and struck out 11 in his first complete game in almost five years but Chicago lost star leadoff hitter Alfonso Soriano for up to six weeks with a broken left hand after he was hit by a pitch. Soriano was hit by Atlanta starter Jeff Bennett in the second inning, left the game and went to a hospital for X-rays.

METS 5, DIAMONDBACKS 3 (13): At New York, Carlos Beltran hit a two-run homer with two outs in the 13th inning, and New York overcame another blown save by Billy Wagner to snap a five-game losing streak. Arizona third baseman Mark Reynolds tied it by hitting a three-run shot off Wagner with two outs in the ninth inning. That cost Mike Pelfrey a win in the best outing of his big league career. He set career highs by striking out eight in eight-plus innings.

BREWERS 10, ASTROS 6: At Houston, Corey Hart hit two of Milwaukee's season-high five home runs and the Brewers snapped a five-game losing streak at Minute Maid Park. Miguel Tejada, Carlos Lee and Ty Wigginton hit solo homers for the Astros, who have lost 10 of 13.

ROCKIES 1, GIANTS 0: At Denver, Garret Atkins scored on Yorvit Torrealba's bases-loaded fly ball in the ninth inning for Colorado. Atkins was initially called out by umpire Fieldin Culbreth. But Culbreth saw that Giants catcher Bengie Molina had dropped the ball while making a swipe tag and ruled Atkins safe. Molina was charged with an error on the play.

PADRES 4, DODGERS 1: At San Diego, Randy Wolf combined with two relievers on a five-hitter, and rookie Edgar Gonzalez and Khalil Greene hit solo homers for San Diego. Wolf (5-4) had his fifth straight outing where he allowed two runs or fewer, giving up four hits in seven innings.

American League

ANGELS 4, RAYS 2: At Anaheim, Calif., Gary Matthews Jr. and Vladimir Guerrero homered, Maicer Izturis hit a go-ahead single and Los Angeles beat Tampa Bay to snap Scott Kazmir's six-game winning streak. John Lackey (3-1) allowed two runs and four hits over 7 1/3 innings, striking out seven and walking two. The right-hander, who had a career-high 19 wins and an AL-best 3.01 ERA last year, has a 1.83 ERA mark in six starts after spending the first 6 1/2 weeks of the season on the disabled list with a strained triceps. He is 9-1 with a 2.25 in 11 career starts against Tampa Bay.

MARINERS 2, BLUE JAYS 1: At Toronto, Raul Ibanez singled home the winning run in the ninth inning, Felix Hernandez worked eight strong innings and the Mariners beat the Blue Jays.

The Mariners mounted the winning rally against Blue Jays closer B.J. Ryan (1-3). Ichiro Suzuki drew a one out walk and stole second and third while Willie Bloomquist struck out. Miguel Cairo walked and took second on defensive indifference before Ibanez lined an RBI single to right, advancing to second as the throw came went to the plate.

RED SOX 6, ORIOLES 3: At Boston, Bartolo Colon got the 150th victory of his career with six strong innings for Boston, allowing one run and five hits. Five days earlier, Colon made two errors in his only loss of the season, an 8-0 setback to Seattle which he left trailing 5-0.

TWINS 8, INDIANS 5: At Cleveland, Justin Morneau drove in three runs and Jason Kubel hit a homer to help Minnesota snap a six-game losing streak. Nick Blackburn (5-4) won for the first time since May 16, allowing two runs and seven hits over six innings as Minnesota moved two games ahead of third-place Cleveland in the AL Central.

TIGERS 5, WHITE SOX 1: At Detroit, Justin Verlander pitched a four-hitter for his third career complete game and Marcus Thames hit a three-run homer for Detroit. Verlander (3-9) didn't walk a batter and struck out three. He threw 101 pitches in his best outing of the season.

RANGERS 11, ROYALS 5: At Kansas City, Mo., David Murphy hit two home runs, including his first career grand slam, and drove in a career-high five runs for Texas. The Rangers trailed 5-1 after six innings, but sent 10 men to the plate in a seven-run seventh, matching their biggest inning of the season. Relievers Jeff Fulchino and Jimmy Gobble faced seven batters in the inning without retiring one.

ATHLETICS 8, YANKEES 4: At Oakland, Calif., Jack Cust drove in three runs and the Oakland Athletics roughed up Darrell Rasner early. Cust hit a two-run single during a six-run burst in the third inning. Rasner (3-4) lost his fourth straight start. Justin Duchscherer (6-4) won for the third time in four starts and improved to 5-0 at the Coliseum.