The San Francisco Giants wrested back sole possession of the National League West division lead by beating the Arizona Diamondbacks 8-1 on Wednesday.
San Francisco starter Ryan Vogelsong (9-1) won his career-best sixth straight decision, allowing one run in six innings with seven strikeouts as the Giants ended a form slump that had seen them lose five straight games and be outscored 31-8.
Orlando Cabrera drove in three runs, while Carlos Beltran tripled among his three hits, scored twice and drove in a run in his best game since joining the Giants from the New York Mets.
Arizona starter Jason Marquis (8-6) went four innings, allowing eight runs.
Braves 6, Nationals 4
In Washington, Dan Uggla hit a three-run homer and extended his career-best hitting streak to 25 games as Atlanta downed Washington.
Uggla’s streak is Atlanta’s longest since Marquis Grissom’s 28-game run in 1996, while Freddie Freeman had two hits and two RBIs to extend his own hitting streak to 18 games; the longest by a rookie in the majors this season.
Braves rookie starter Brandon Beachy (5-2) took a shutout into the sixth, but failed to get another out.
Wang Chien-ming (0-2) allowed six runs in five innings for the Nationals, whose four-game winning streak ended.
Phillies 8, Rockies 6
In Denver, Colorado, Roy Halladay fought through an erratic outing for his NL-leading 14th win, guiding Philadelphia past Colorado.
Halladay (14-4) allowed eight hits in seven innings, striking out seven and walking only one as the NL East-leading Phillies won their sixth straight.
Ryan Howard drove in four runs with a homer and a double as Philadelphia completed the sweep.
Colorado starter Jason Hammel (6-11) gave up six runs in five innings in taking the loss, the Rockies’ fourth straight.
In other NL play, it was:
‧ Brewers 10, Cardinals 5
‧ Cubs 1, Pirates 0
‧ Padres 3, Dodgers 0
‧ Astros 5, Reds 4
Jacoby Ellsbury got the winning hit for the second night in a row, homering with two outs in the ninth inning to give the Boston Red Sox a dramatic 4-3 win over the Cleveland Indians in the American League on Wednesday.
Cleveland pitcher Joe Smith (2-2) got the first two batters on groundouts before Ellsbury went long over the wall in center field.
Boston reliever Jonathan Papelbon (4-0) had pitched a perfect ninth to take the win.
Dustin Pedroia and Adrian Gonzalez each had two hits for the Red Sox.
The Indians fell to .500 for the first time since the fourth game of the year.
Tigers 5, Rangers 4
In Detroit, Michigan, Doug Fister pitched seven effective innings to win his Detroit debut, leading the Tigers past Texas.
Fister (4-12), acquired from Seattle, earned his first victory in 10 starts. He allowed two earned runs without a walk.
Alex Avila and Ryan Raburn hit homers for Detroit. Jose Valverde pitched the ninth for his 30th save in as many tries, despite allowing a solo homer.
Rangers starter Matt Harrison (9-8) took the loss, giving up four runs in six innings.
Yankees 18, White Sox 7
In Chicago, Derek Jeter had five hits and Curtis Granderson drove in five runs as surging New York racked up its highest score of the season, pounding Chicago.
Robinson Cano and Eric Chavez each had three hits and four RBIs for the Yankees, who have won six straight. Leadoff hitter Brett Gardner scored four times and Mark Teixeira drove in three runs in New York’s highest-scoring game of the season.