Cubs 8, Reds 5
CHICAGO (AP) - Aramis Ramirez homered, doubled twice, singled and drove in three to lead Chicago.
Mike Fontenot, Jeff Baker and Derrek Lee also homered for the Cubs, who have won eight of their last 11 games.
The Reds dropped their sixth straight road game despite starting pitcher Aaron Harang's first career home run.
Ramirez's leadoff homer in the sixth put the Cubs ahead 4-3 and aided starter Randy Wells (6-4), who is 6-0 when receiving at least four runs of support. The rookie allowed seven hits in six innings.
Kevin Gregg gave up Willy Taveras' two-run single in the ninth.
Harang (5-11), who gave up nine hits and four runs in six innings, is 0-7 with a 5.17 ERA in his last 11 starts.
Padres 6, Nationals 2
WASHINGTON (AP) - Mat Latos pitched into the sixth inning to notch his first career victory, and light-hitting Luis Rodriguez homered and matched a career high with three RBIs as San Diego snapped a five-game losing streak.
Latos (1-1), who lost in his major league debut July 18, allowed two runs and five hits over 5 2-3 innings. He walked two and struck out five.
Cristian Guzman and Ryan Zimmerman homered for the Nationals, who have lost 13 of 16 and have the majors' worst record at 28-68. Washington committed four errors for the third time this season.
Washington starter Garrett Mock (0-4) yielded five runs - three earned - and nine hits.
Giants 3, Rockies 1
DENVER (AP) - Matt Cain became the major league's second 12-game winner, scattering three hits over seven innings and San Francisco pulled even with Colorado in the NL wild-card race.
Fred Lewis finished a home run shy of the cycle and Nate Schierholtz hit a solo shot in the fourth, snapping the Giants' seven-game homerless streak.
Cain (12-2) gave up one run and struck out five as he moved to 37-6 all-time when the Giants score three or more runs for him.
Jeremy Affeldt pitched a perfect eighth - his 27th straight scoreless inning - and Brian Wilson got Troy Tulowitzki to hit into a game-ending double play for his 25th save.
Cain joins Colorado's Jason Marquis as the only 12-game winners this season. Marquis was scheduled to pitch Friday, but was bumped due to a bothersome blister on his right middle finger.
Jason Hammel (5-5) filled in, giving up three runs and seven hits in six innings.
Braves 9, Brewers 4
MILWAUKEE (AP) - Chipper Jones, Martin Prado and Nate McLouth homered to pace a 17-hit effort by Atlanta and Javier Vazquez struck out nine in seven innings.
Prado hit a three-run homer in the third, Jones the go-ahead solo shot in the sixth and McLouth a two-run insurance drive in the eighth for the Braves, who have won seven of nine since the All-Star break.
Vazquez (8-7) gave up four runs and seven hits and struck out home run derby champ Prince Fielder four times. He allowed three walks and a two-run homer to Ryan Braun to tie it at 4 in the fifth before Jones answered off Carlos Villanueva (2-7).
Braun's shot snapped a streak of 77 2-3 innings by Braves pitchers without allowing a home run.
Manny Parra allowed four runs and in five innings for Milwaukee, which has lost 13 of 19.
Astros 5, Mets 4
HOUSTON (AP) - Houston starter Mike Hampton hit a two-run homer off New York ace Johan Santana, handing him a rare loss after the All-Star break.
Chris Coste had a two-run double for the Astros, who have won seven of the last nine meetings with the Mets at Minute Maid Park.
Santana (11-8) went 8-0 in 15 second-half starts last season and beat Atlanta on Saturday, his first start after the break. He allowed 12 hits Friday, matching a career high, in 6 2-3 innings and lost for the third time in five starts.
Hampton (6-7) struck out seven in 5 2-3 innings, guiding the Astros to their 10th win in 13 games. Jose Valverde pitched a perfect ninth for his 11th save.
Omir Santos hit a solo homer for the Mets, who have lost six of eight. The Mets finished with 13 hits, but stranded 10 runners and scored fewer than five runs for the 15th time in 20 games.