PITTSBURGH — Matt Holliday and David Freese drove in two runs apiece, and the St. Louis Cardinals beat the Pittsburgh Pirates 7-2 on Sunday to move back into a tie for the NL Central lead.
Matt Carpenter, Allen Craig, Yadier Molina and Shane Robinson added two hits each for St. Louis, which jumped on Pittsburgh rookie Kris Johnson (0-2) early to snap a three-game skid.
Joe Kelly (7-3) allowed one run and four hits in six solid innings to win his fourth straight start. Kelly struck out five and walked two to remain unbeaten since June 5.
Justin Morneau went 1 for 3 in his debut with the Pirates a day after Pittsburgh acquired the first baseman from Minnesota to bolster the franchise’s bid for its first playoff appearance in 21 years.
Cubs 7, Phillies 1
CHICAGO — Jake Arrieta allowed three hits and a run while pitching into the seventh inning and catcher Welington Castillo drove in two runs to lead the Chicago Cubs over the Philadelphia Phillies.
Arrieta (2-1) retired eight of the first nine batters he faced. Acquired from the Baltimore Orioles on July 2, Arrieta has been inconsistent in his four starts since joining the rotation Aug. 16. But this time he worked around three walks with only two Phillies advancing beyond second base in his 6 1-3 innings.
Three Cubs relievers combined for 2 1-3 shutout innings. The victory gave the Cubs their first consecutive home wins since a stretch of three straight July 6-9.
Marlins 7, Braves 0
ATLANTA — Nathan Eovaldi combined with Steve Cishek on an eight-hit shutout, Jeff Mathis homered and drove in three runs, and the Miami Marlins beat the Atlanta Braves to end their six-game losing streak.
Ed Lucas had a two-run single and Mathis added a two-run double in the Marlins’ five-run third inning.
Eovaldi (3-5) halted Miami’s skid and his personal five-game slide by earning his first win since July 12 against Washington. He gave up seven hits with two walks and six strikeouts in eight innings, his longest start of the season.
Rockies 7, Reds 4
DENVER — Todd Helton doubled for his 2,500th career hit, Michael Cuddyer homered among his four hits and the Colorado Rockies overcame the loss of starting pitcher Tyler Chatwood to beat the Cincinnati Reds.
Helton became the 96th player in major league history to reach 2,500 hits.
Shin-Soo Choo homered and had three hits, and Chris Heisey had four hits for the Reds.
Dodgers 2, Padres 1
LOS ANGELES — Zack Greinke allowed one run over seven innings, Yasiel Puig homered in the sixth and the Los Angeles Dodgers beat the San Diego Padres to complete a three-game sweep.
The NL West leaders earned their 10th sweep of the season and first against San Diego. They extended their roll from August, when the Dodgers went 23-6 for their most successful month since moving to Los Angeles in 1958.
Giants 8, Diamondbacks 2
PHOENIX — Yusmeiro Petit struck out a career-high 10, Hector Sanchez drove in three runs and the San Francisco Giants beat Arizonato take two of three from the Diamondbacks.
Hunter Pence homered, doubled and singled, driving in two runs and scoring three times as the Giants improved to 10-5 against Arizona this season.
Angels 5, Brewers 3
MILWAUKEE — J.B. Shuck hit a three-run double in the seventh inning to rally the Los Angeles Angels past the Milwaukee Brewers for a three-game sweep of their interleague series.
Mike Trout tripled and doubled among his three hits to help the Angels finish an 8-1 road trip. They have won eight in a row against the Brewers in Milwaukee, dating to 1997.