MIAMI (AP) - Unbeaten rookie J.A. Happ allowed five hits in seven innings, and the Philadelphia Phillies extended their longest winning streak since 2006 to eight games by beating the Florida Marlins 5-0 Sunday.
Happ (7-0) also singled with two outs to start a three-run rally in the second inning.
Jimmy Rollins had three hits by the third and came within a home run of the cycle, and Raul Ibanez doubled home two runs for the Phillies, who have won eight in a row in Miami.
Philadelphia won for the 12th time in 13 games. The winning streak is the Phillies' longest since they won nine in a row April 30-May 9, 2006. They are 29-15 on the road, best in the majors. Florida fell seven games behind Philadelphia in the NL East.
Andrew Miller (3-5) lasted only 2 2-3 innings for the second game in a row.
Reds 5, Brewers 3
CINCINNATI (AP) - Jonny Gomes hit a tiebreaking, two-run homer in the eighth inning, sending Cincinnati to a victory and a split of the four-game series with Milwaukee.
Gomes connected off Seth McClung (3-3), who had a tough time in his two appearances during the series. McClung walked two and gave up a three-run homer by Edwin Encarnacion in the opening game, but the Brewers held on to win.
Gomes also had a run-scoring single, helping Cincinnati win for only the fourth time in 12 games.
David Weathers (2-2) pitched a perfect eighth inning, striking out a pair of batters. Francisco Cordero got the last three outs for his 22nd save.
Cubs 11, Nationals 3
WASHINGTON (AP) - Alfonso Soriano's two-run homer keyed a seven-run fourth inning and Chicago completed a four-game sweep of Washington.
Jake Fox had three hits and a career-high four RBIs. Soriano's 16th home run, his second in two games after a drought of 120 at-bats, began the biggest inning of the season for the Cubs. Starting pitcher Kevin Hart (1-1) also contributed by faking a bunt and punching an RBI single.
Adam Dunn hit his 24th homer but Washington dropped to 0-4 under new manager Jim Riggleman.
Garrett Mock (0-3) , summoned from Triple-A Syracuse after winning five straight there, allowed seven runs - four earned - in 3 1-3 innings for Washington.
Giants 4, Pirates 3
PITTSBURGH (AP) - Matt Cain (11-3) held the Pirates to one run over seven innings to outpitch All-Star replacement Zach Duke (8-9), and San Francisco beat Pittsburgh.
The Giants were limited to two extra-base hits and one unearned run and didn't have an RBI in the first 28 innings of the three-game series before consecutive doubles by Randy Winn, Pablo Sandoval, Bengie Molina and Nate Schierholtz to start the sixth produced three runs. John Bowker added a sacrifice fly to make it 4-1 as the Giants ended the Pirates pitching staff's streak of 35 innings without allowing an earned run.
The Giants avoided being swept and stopped a three-game losing streak. The Pirates, who had won 10 of 13 against the Giants, lost their eighth in 11 overall.
Cain (11-3), who gave up Brandon Moss' solo homer, was pitching for the first time since he was hit by a line drive off his right arm on July 11.
Brian Wilson earned his 24th save.
Cardinals 2, Diamondbacks 1
ST. LOUIS (AP) - Joel Pineiro hit a two-run double and pitched seven sharp innings, leading St. Louis over Arizona.
Pineiro (8-9) gave up one run, struck out three and allowed five hits in getting his third win in five decisions after losing five straight and eight of nine.
Ryan Franklin got four outs for his 22nd save in 23 attempts.
Yusmeiro Petit (0-4) lasted six innings, his longest outing this year, and his six strikeouts marked his best since whiffing six in his season debut April 11 against Los Angeles. He allowed three hits, tying his best mark this season since his season debut, and walked four.
Rockies, 6, Padres 1
SAN DIEGO (AP) - Jason Marquis threw eight strong innings and drove in two runs to become the majors' first 12-game winner, leading Colorado over San Diego.
The win spoiled the major league debut of San Diego right-hander Mat Latos (0-1), the club's top pitching prospect, who allowed two runs and three hits in four innings.
Ian Stewart and Brad Hawpe hit solo homers for Colorado, which won for the 30th time in 40 games since June 4.
Marquis (12-6) was never seriously threatened by San Diego, last in the majors in runs scored and batting average. He gave up one run and five hits as he got 16 ground ball outs.
Dodgers 4, Astros 3
LOS ANGELES (AP) - Matt Kemp hit a tiebreaking homer in the eighth inning, Brad Ausmus had a pair of RBI doubles and Los Angeles beat Houston to earn a split of the four-game series.
Kemp drove a 3-2 pitch from LaTroy Hawkins (1-4) into the left-field pavilion for his 12th homer. He had three hits and tied a career high by scoring four runs.
Ramon Troncoso (4-0) pitched a perfect eighth to extend his streak to 16 innings without allowing an earned run. Jonathan Broxton pitched the ninth for his 22nd save as Los Angeles improved baseball's best record to 58-34.
Braves 7, Mets 1
ATLANTA (AP) - Yunel Escobar had two of his four RBIs in a five-run fifth inning and Atlanta beat New York, which lost starting pitcher Fernando Nieve in the second inning. Nieve left the game with a strained right quadriceps after he tried to beat out a hit.
Escobar hit his ninth homer in the second and had a run-scoring single in the fourth to give Atlanta a 2-1 lead. The shortstop delivered a two-run double in the fifth as the Braves stretched the lead to 7-1.
Braves right-hander Javier Vazquez (7-7) gave up six hits and one run in seven innings.
Tim Redding (1-4) replaced Nieve and gave up five runs, two earned, in three innings. Since June 22, the injury-ravaged Mets have lost 15 of 24, scoring just 74 runs.