PITTSBURGH (AP) - Joe Kelly and the St. Louis Cardinals averted a five-game sweep at Pittsburgh, ending a season-worst seven-game losing streak by routing the Pirates 13-0 Thursday night in a matchup between the NL's top two teams.
St. Louis began the series with a 2 1/2-game lead in the NL Central but left with the Pirates ahead by 1 1/2 games. The Cardinals avoided their first sweep in a set of at least five games since 1916, when the New York Giants took all six games.
Pittsburgh had won the previous four games at PNC Park by a combined score of 36-10.
Kelly (2-3) pitched six scoreless innings and had two hits. Tony Cruz added three hits, including a two-run double during an eight-run seventh inning.
Charlie Morton (3-3) gave up five runs and 10 hits in six innings. He is 2-8 in his career against St. Louis.
BRAVES 11, ROCKIES 2
ATLANTA (AP) - Justin Upton drove in five runs with two homers, Julio Teheran matched his career high with 11 strikeouts, and Atlanta beat Colorado for its seventh straight win.
Jason Heyward added a two-run homer, and Chris Johnson had three hits as the Braves completed a four-game sweep of the Rockies. The Braves outscored the Rockies 31-5 in the last three games of the series.
Atlanta's 7-0 homestand also included three wins over St. Louis.
The NL East-leading Braves stretched their lead over Washington to 11 1/2 games.
Teheran (8-5) struck out the side in the third and fifth innings. He lasted only five innings, allowing one run and five hits and two walks, in his third straight start of allowing no more than one run.
Colorado's Chad Bettis (0-1), called up from Double-A Tulsa for his major league debut, allowed five runs and six hits and five walks in five innings.
GIANTS 2, PHILLIES 1
PHILADELPHIA (AP) - Joaquin Arias and pinch-hitter Roger Kieschnick had RBI singles off Jonathan Papelbon in the top of the ninth inning, then Sergio Romo escaped a bases-loaded jam in the bottom half as San Francisco beat Philadelphia.
Matt Cain (7-6) gave up one run and six hits in eight innings. The struggling ace lowered his ERA to 4.57.
Cole Hamels allowed seven hits and struck out five in eight scoreless innings. He left with a 1-0 lead that he gave himself with an RBI single.
Then Papelbon (2-1) blew it - a familiar scene for the 2012 All-Star closer. He started the season 13 for 13 in save opportunities, but is 7 for 13 since. He heard loud boos throughout the inning and when he walked to the dugout.
The Phillies are 2-10 since the All-Star break and have dropped to 9 1/2 games behind Cincinnati for the second wild-card spot in the NL.
MARLINS 3, METS 0
MIAMI (AP) - Tom Koehler pitched six effective innings, and Miami stalled Matt Harvey once again, beating the New York Mets.
Logan Morrison's two-out single broke a scoreless tie in the sixth. Donovan Solano added a two-run single later in the inning.
Harvey (8-3) allowed three runs and five hits in 5 2-3 innings. The NL's All-Star starter struck out eight.
Harvey's three shortest outings this season have come at Marlins Park. The All-Star is 0-1 with a 3.52 ERA in four starts against the Marlins this season while going 8-2 with a 1.97 ERA against the rest of the majors.
The Marlins are the lowest-scoring team in the majors and have the worst record in the NL.
Koehler (3-6) gave up five hits, walked five and struck out five. A.J. Ramos pitched two innings, and Steve Cishek worked the ninth for his 23rd save in 25 chances.
It was the first time the Mets had been shut out since May 25 against Atlanta.
DODGERS 6, CUBS 4
CHICAGO (AP) - Yasiel Puig hit a long home run and scored two runs to lead the Los Angeles Dodgers over the Chicago Cubs.
Hanley Ramirez and Jerry Hairston each drove in two runs for the Dodgers, who got a win a night after having a four-game winning streak snapped. Los Angeles is 11-2 since the All-Star break.
Junior Lake and Anthony Rizzo each homered twice for the Cubs, who lost for the fourth time in five games. Chicago had only five hits.
Dodgers starter Ricky Nolasco (7-9) allowed three solo home runs and lasted just five innings, but earned the win. Kenley Jansen pitched a perfect ninth to earn his 15th save.
Cubs starter Chris Rusin (1-1) was sharp in the fourth and fifth innings, but appeared to get tired in the sixth. He was pulled after allowing a single and a walk to the first two batters.