J. Pat Carter, Associated Press
Florida's Jorge Cantu, left, gets back to the bag safely as the Cubs' Ryan Theriot lunges for the ball.

MIAMI — Daryle Ward probably wasn't the most likely guy to pick up a bat as a pinch-hitter in the ninth inning with Chicago trailing by two runs.

Even more unlikely was breaking out of his 0-for-13 slump with a game-winning homer.

Ward snapped an 0-for-13 slump and connected on an 0-1 pitch off Marlins closer Kevin Gregg, driving it over the right-field wall for a three-run shot and helping the Cubs rally to beat the Florida Marlins 6-5 on Friday night for their ninth straight road victory.

"I'm just trying to make good contact there and I crushed the ball," Ward said. "I knew he was going to come after me.

"The first pitch was a fastball, then I'm watching his release on the next pitch and the fastball comes again and I got all of it."

Gregg (6-5) walked Mark De Rosa to lead off the ninth and allowed Reed Johnson's one-out single before Ward's winning shot.

"The guys put us in a spot to win the ball game and I screwed it up in the ninth," Gregg said."It was a situation when I didn't execute my pitch and he made me pay for it."

Gregg had converted on 11 consecutive save opportunities before Friday's appearance.

"I was just so excited," Ward said. "This really picks up my confidence."

Reliever Chad Gaudin (4-1) pitched two scoreless innings for the win, and Kerry Wood pitched a scoreless ninth for his 25th save in 30 opportunities.

"What a clutch at-bat by Ward," Chicago manager Lou Piniella said. "Hopefully this will get him going."

The Cubs have 35 comeback victories, tying Milwaukee and Detroit for the major league lead.

Florida's Jorge Cantu broke a 1-all tie in the third with a three-run homer. Cantu drove Cubs starter Carlos Zambrano's pitch over the scoreboard in left field for his 21st of the season. Josh Willingham's two-out triple scored Dan Uggla later in the inning for a 5-1 lead.

The Cubs cut the deficit to 5-3 on De Rosa's two-run homer in the fourth, a shot off Marlins starter Josh Johnson over the wall in left field for his 14th home run of the season.

Johnson allowed three runs and five hits in six innings. He walked three and matched a career-high with eight strikeouts, set in three previous appearances.

The Cubs are unbeaten on the road since a 9-2 loss at Arizona July 22, and have won four straight on their current six-game road trip. They pushed their lead in the NL Central to five games over Milwaukee, which played the Los Angeles Dodgers later Friday night.

"I like the way these kids get after it for nine innings," Piniella said. "There's a lot of confidence in this locker room."

The victory also was Chicago's first at Dolphin Stadium since July 10, 2005.

"I'm happy for the team. This has been a difficult place for us," Zambrano said.

Zambrano fared better than his previous start, when he allowed a season-high nine runs in four innings Aug. 9 against St. Louis. Zambrano pitched six innings this time, allowing five runs and four hits with six strikeouts.

"I've been rushing a little too much and I've been working with the pitching coach on correcting some things in my approach," Zambrano said.

Chicago scored first on Zambrano's two-out RBI single in the second, and the Marlins tied it in the bottom of the inning as Cody Ross' two-out double to deep center that scored Uggla from first base.

"We played with some energy and swung the bats," Florida manager Fredi Gonzalez said. "We had a chance to add on a run but we didn't."

CARDINALS 5, REDS 3: At Cincinnati, Rick Ankiel's two-run homer off Bronson Arroyo lifted St. Louis to its third straight win. Brad Thompson (5-2) got the win, going five innings and giving up three runs. Rookie Chris Perez relieved with one out in the ninth and gave up a single before striking out the last two batters, completing his fourth save in five chances. Perez has helped stabilize a bullpen that leads the NL with 27 blown saves.

Arroyo (10-10) couldn't put the brakes on Cincinnati's fade. The Reds have lost 16 of 20, leaving them stranded in last place in the NL Central.

ROCKIES 4, NATIONALS 3: At Washington, Troy Tulowitzki and Brad Hawpe homered for Colorado as the Rockies won for just the third time in nine games. Hawpe's two-run shot to center field capped a three-run rally against Nationals starter Tim Redding (8-8) with two down in the fifth. Seth Smith singled and scored when Matt Holliday sailed a double over the head of center fielder Lastings Milledge, tying the game at 2, and Hawpe followed with his 20th homer.

The Nationals have lost eight in a row. A loss to the Rockies on Saturday would match Washington's longest skid of the season. Jorge De La Rosa (6-6) went six innings, allowing three runs and six hits. He had been moved to the bullpen, but returned to the rotation Friday night after an injury to ace Aaron Cook.

Manuel Corpas pitched the seventh, Taylor Buchholz worked the eighth and Brian Fuentes struck out the side in the ninth for his 23rd save in 27 opportunities.

DIAMONDBACKS 12, ASTROS 2: At Houston, Brandon Webb struck out six in eight sharp innings and Chris Snyder drove in four runs for Arizona, which snapped Houston's eight-game winning streak. Webb (18-4) allowed four hits and retired 16 Astros on groundouts to win his seventh straight decision and fifth straight start against Houston.

Snyder and Chris Young, both Houston natives, and former Astro Chris Burke homered for the Diamondbacks, who've won four of five. Snyder and Burke homered for the second straight game and Snyder and Young also had RBI singles.

Ty Wigginton homered and Lance Berkman had an RBI double for the Astros, who also had their seven-game home winning streak halted.

Wandy Rodriguez (7-5) gave up four runs and matched a career high with six walks in 2 1-3 shaky innings. The left-hander had won four of his previous five decisions.

GIANTS 5, BRAVES 1: At Atlanta, Randy Winn had his 100th career homer among his four hits and drove in two runs for San Francisco. Matt Cain allowed only one run in seven innings to continue his recent string of strong starts. Cain (8-9) has a 1.81 ERA in his last seven starts, but he's only 3-2 in that span.

Cain gave up six hits and a walk, and struck out five. Brian Wilson pitched the ninth for his 33rd save.

Atlanta has lost four straight at Turner Field in its five-game skid. The Braves are 5-15 at home in July and August.

Bengie Molina also had four hits and drove in two runs. The Giants had 15 hits, one shy of their season high, and ended a four-game losing streak.

METS 2, PIRATES 1: At Pittsburgh, Mike Pelfrey pitched seven shutout innings and New York won its fourth straight. Jose Reyes and Argenis Reyes had two hits each for the first-place Mets. Pelfrey (11-8), who had a 5.83 ERA in five starts over the past month, was stellar in his first career start against Pittsburgh. The 24-year-old right-hander allowed seven hits and didn't walk a batter.

Pittsburgh had a runner thrown out at home plate in the seventh and hit into two double plays against Pelfrey. The Pirates also wasted a scoring chance in the second, when Brandon Moss popped out and Jason Michaels grounded into a double play with two runners on.

Aaron Heilman, who walked a batter in the ninth, picked up his third save.

PHILLIES 1, PADRES 0: At San Diego, Jamie Moyer outpitched fellow 40-something Greg Maddux for seven innings, Pat Burrell homered and Philadelphia snapped a four-game skid. Moyer (11-7) gave up three hits, struck out two and walked two. The left-hander allowed just one runner to reach third base. Maddux (6-9) allowed a run on five hits and struck out four.

Burrell homered in the seventh inning, his 28th of the season, to break up the scoreless game. He is hitting .340 (15-for-44) in his career against Maddux with three homers and nine RBIs.

Ryan Madson gave up a hit and J.C. Romero got two outs in the eighth, and --> Brad Lidge finished the four hitter by striking out two in a perfect ninth for his 29th save in 29 chances.

American League

RAYS 7, RANGERS 0: At Arlington, Texas, Matt Garza (10-7) didn't allow a hit until a debatable call with two outs in the sixth inning, then finished with a two-hitter as the AL East-leading Rays beat Texas. Meanwhile, a Tampa Bay lineup missing injured stars Evan Longoria and Carl Crawford hit four home runs in 4 2/3 innings off Kevin Millwood (6-7), who was reinstated from the 15-day disabled list to start.

Texas got its first hit when Ian Kinsler hit a looping flyball into short center that ricocheted off the glove of charging outfielder Justin Ruggiano. Any questions about that costing Garza a no-hitter were erased when Josh Hamilton led off the seventh with a solid single up the middle. Garza (10-7) struck out nine and walked two while throwing 78 of 119 pitches for strikes in his third complete game and joining Andy Sonnanstine and James Shields as 10-game winners for Tampa Bay. None of the Rangers' four base runners got past first.

The Rays (74-47) have a 3 1/2-game division lead over Boston, which was rained out at home against Toronto on Friday night.

INDIANS 3, ANGELS 2: At Cleveland, Cliff Lee became the AL's first 17-game winner by pitching his third complete game of the season, leading Cleveland over Los Angeles. The Angels could muster just eight hits and two runs against Lee (17-2). The left-hander struck out six, won for the sixth time in seven starts and lowered his ERA for the season to 2.43.

Cleveland scored twice in the sixth to take a 3-2 lead. Shin-soo Choo's one-out double off Jered Weaver got it started.

Jose Arredondo (4-1) walked Kelly Shoppach and yielded a tying RBI single to Ryan Garko. Walks to pinch-hitter David Dellucci and Asdrubal Cabrera forced in Shoppach.

TWINS 9, MARINERS 3: At Minneapolis, Jason Kubel homered and had three RBIs in a seven-run fourth inning and Minnesota beat up on former teammate Carlos Silva. Francisco Liriano allowed no earned runs in seven solid innings for Minnesota, which began the night one game behind Chicago in the AL Central. The Twins have won six of eight since losing two straight in Seattle last week. Facing his former team for the first time, Silva tied a career high by allowing nine earned runs and lost for a league-leading 14th time. After starting the season 3-0, he has won just once in his last 21 starts.

Silva (4-14) won 47 games for the Twins from 2004-07 before signing a 4-year, $48 million contract with Seattle in December.

In winning his third straight start since being recalled from Triple-A Rochester, Liriano (3-3) wasn't overpowering — he had just five strikeouts — but effectively kept the ball down in the zone. The Mariners grounded out 13 times.

ORIOLES 11, TIGERS 2: At Detroit, Melvin Mora finished a double shy of the cycle, driving in four runs to lift Baltimore past Detroit. Mora finished 3-for-4 and has 15 RBIs in his last seven games, his offensive production corresponding to a sudden charge by the Orioles offense. Baltimore has scored 66 runs in its last eight games.

Reliever Lance Cormier (2-3) picked up the win in relief, allowing only a hit in 2 2-3 innings against a potent but suddenly scuffling Detroit lineup.

Nate Robertson (7-9) allowed five runs — four earned — and eight hits in 5 1-3 innings for the Tigers, who gave him very little help on defense. Detroit committed three errors in losing for the 11th time in its last 15 games.

ROYALS 4, YANKEES 3: At New York, Mariano Rivera's first wild pitch of the season allowed the tiebreaking run to score in the ninth inning, and Jason Giambi flied out with the bases loaded to end Kansas City's win over fading New York.

Mark Teahen hit a two-run double and Kansas City got another solid outing from Gil Meche, who hasn't lost in eight starts since July 2 at Baltimore. The last-place Royals improved to 6-29 at Yankee Stadium this decade by beating New York for the fifth time in eight meetings overall this season.

Pinch-runner Justin Christian was inexplicably picked off at first base for the first out of the ninth inning, the latest abysmal play by an injury-depleted Yankees team that is falling fast in the playoff race.

New York, which hasn't missed the postseason since 1993, dropped seven games behind Boston for the AL wild-card spot.

ATHLETICS 6, WHITE SOX 4: At Oakland, Calif., pinch-hitter Kurt Suzuki hit a game-winning two-run homer in the bottom of the ninth inning and Oakland rallied to beat Chicago.

Pinch-hitter Emil Brown doubled off Horacio Ramirez (1-2) leading off the ninth and pinch-runner Cliff Pennington was sacrificed to third. Chicago manager Ozzie Guillen replaced Ramirez with reliever D.J. Carrasco, who worked a full count on Suzuki before Oakland's catcher hit his sixth home run of the season over the left-field wall. Jack Cust added a pair of home runs for the A's, who had lost four of their previous five games and 17 of 20.

Huston Street (3-5) pitched a scoreless ninth inning to earn the win for Oakland, which won for just the fifth time since the All-Star break.

Carlos Quentin hit his 33rd home run for Chicago to tie Philadelphia's Ryan Howard for the major league lead but it wasn't enough as the White Sox lost for only the fourth time in their last 11 games. They fell into a first-place tie with Minnesota in the AL Central. The Twins beat Seattle 9-3 earlier in the night.