Rookie J.D. Martinez homered and hit a go-ahead two-run double in the seventh inning to help rookie starter Jordan Lyles pick up his first career win as the Houston Astros beat the Cincinnati Reds 5-4 Wednesday. Martinez hit a two-run homer in the first inning and drove in two more with a bases-loaded double off reliever Nick Masset (1-5) to put Houston ahead 4-3. Humberto Quintero added an insurance run with a solo homer in the eighth inning to give the Astros a series win over the Reds, who were coming off a sweep of San Francisco. Braves 6, Nationals 4: Dan Uggla homered and extended his career-best hitting streak to 25 games, Freddie Freeman had two hits and two RBIs, and the Atlanta Braves beat the Washington Nationals to avoid a three-game sweep. Uggla went 2 for 4, including a three-run drive that put the Braves up 6-0 in the fifth inning. His hitting streak is Atlanta's longest since Marquis Grissom put together a 28-game run in 1996. Cubs 1, Pirates 0: Starlin Castro homered and Matt Garza pitched seven shutout innings to lead the Chicago Cubs to a win over the sliding Pittsburgh Pirates. Castro's solo homer leading off the eighth inning made a winner of Garza (5-8) as he combined on a four-hit shutout with Sean Marshall and Carlos Marmol, who worked the ninth for his 22nd save. Brewers 10, Cardinals 5: Casey McGehee homered three times and the Milwaukee Brewers rallied to beat the St. Louis Cardinals and add to their NL Central lead. Phillies 8, Rockies 6: Roy Halladay fought through an erratic outing for his NL-leading 14th victory, Ryan Howard drove in four runs with a homer and a double and the Philadelphia Phillies completed a sweep of Colorado with a win over the Rockies. Giants 8, Diamondbacks 1: Ryan Vogelsong won his career-best sixth straight decision, Orlando Cabrera hit a two-run double and drove in three runs, and the San Francisco Giants remained atop the NL West with a victory against the Arizona Diamondbacks.